日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

【时光之穿越一千年】python全文字频解析【jieba】【matplotlib构图】案例

發(fā)布時(shí)間:2024/8/26 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【时光之穿越一千年】python全文字频解析【jieba】【matplotlib构图】案例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

需要環(huán)境:【jieba、wordcloud、matplotlib】

小說(shuō)資料請(qǐng)自己去下載,或者找你想解析的小說(shuō)即可。我這里爬取的【時(shí)光之穿越一千年】

我放在了項(xiàng)目路徑下:

解析代碼:

import jieba import os from wordcloud import WordCloud import matplotlib.pyplot as pltpath = os.getcwd()#獲取當(dāng)前路徑listDir=os.listdir(path)#獲取當(dāng)前目錄下的所有內(nèi)容listInfo="" for x in listDir:if ".txt" in x:#判斷是不是以.txt為后綴的文件file=open(x,"r",encoding="utf-8")#用utf-8的格式打開(kāi)listInfo+=file.read()#讀取全部?jī)?nèi)容file.close()words = jieba.lcut(listInfo)# 使用精確模式對(duì)文本進(jìn)行分詞 counts = {}# 通過(guò)鍵值對(duì)的形式存儲(chǔ)詞語(yǔ)及其出現(xiàn)的次數(shù) #統(tǒng)計(jì)詞頻 for word in words:if len(word) == 1: # 單個(gè)詞語(yǔ)不計(jì)算在內(nèi)continueelse:counts[word] = counts.get(word, 0) + 1 # 遍歷所有詞語(yǔ),每出現(xiàn)一次其對(duì)應(yīng)的值加 1 #注解:dict.get(word,0)當(dāng)能查詢到相匹配的字典時(shí),就會(huì)顯示相應(yīng)key對(duì)應(yīng)的value,如果不能的話,就會(huì)顯示后面的這個(gè)參數(shù)#有些不重要的詞語(yǔ)但出現(xiàn)次數(shù)較多,可以通過(guò)構(gòu)建排除詞庫(kù)excludes來(lái)刪除 text=' '.join(words) excludes = {'一個(gè)','我們','你們','不可','知道','這里','卻說(shuō)','自己','這樣','怎么','不是', '不知','這個(gè)','不能','如此'} #刪除不重要的詞語(yǔ) for exword in excludes:del(counts[exword])items = list(counts.items()) items.sort(key=lambda x: x[1], reverse=True) # 根據(jù)詞語(yǔ)出現(xiàn)的次數(shù)進(jìn)行從大到小排序#輸出統(tǒng)計(jì)結(jié)果 for i in range(10):word, count = items[i]print("{0:<5}{1:>5}".format(word, count))#繪圖 wc=WordCloud(background_color='white',# 設(shè)置背景顏色font_path='msyh.ttc',# 若是有中文的話,這句代碼必須添加,不然會(huì)出現(xiàn)方框,不出現(xiàn)漢字 scale=2, #按照比例進(jìn)行放大畫布,如設(shè)置為2,則長(zhǎng)和寬都是原來(lái)畫布的1.5倍max_words=100,# 設(shè)置最大現(xiàn)實(shí)的字?jǐn)?shù) max_font_size=80,# 設(shè)置字體最大值 stopwords=excludes)# 設(shè)置停用詞 wc.generate(text) # 顯示詞云圖 plt.imshow(wc) plt.axis('off') plt.show() wc.to_file(r'詞頻統(tǒng)計(jì).jpg')

2、執(zhí)行效果:

如果有不需要的此可以在【excludes】中過(guò)濾掉。

希望能對(duì)大家了解文字有一定的幫助。

總結(jié)

以上是生活随笔為你收集整理的【时光之穿越一千年】python全文字频解析【jieba】【matplotlib构图】案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。