當(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)題。
- 上一篇: python jieba库用法
- 下一篇: 【万能小说分析】【python】【词频分