【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordcloud】【绘图】
生活随笔
收集整理的這篇文章主要介紹了
【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordcloud】【绘图】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
測試文章【無盡武裝】與字數【557萬】分析:
1、環境需求:【python】【jieba】【wordcloud】【matplotlib】
我這里提供了【wordcloud】與【matplotlib】,【jieba如果使用失敗請查看我【python爬蟲】文章里的解決內容】
2、提供的代碼:【只需要更換你想解析文本的地址即可】
import jieba import os from wordcloud import WordCloud import matplotlib.pyplot as pltfile=open(r"E:\save\study\python\keyWords\keyWords\無盡武裝.txt","r") strs=file.read() file.close() words = jieba.lcut(strs)# 使用精確模式對文本進行分詞 counts = {}# 通過鍵值對的形式存儲詞語及其出現的次數 #統計詞頻 for word in words:if len(word) == 1: # 單個詞語不計算在內continueelse:counts[word] = counts.get(word, 0) + 1 # 遍歷所有詞語,每出現一次其對應的值加 1 #注解:dict.get(word,0)當能查詢到相匹配的字典時,就會顯示相應key對應的value,如果不能的話,就會顯示后面的這個參數#有些不重要的詞語但出現次數較多,可以通過構建排除詞庫excludes來刪除 text=' '.join(words) excludes = {'一個','就是','我們','他們','你們','不可','知道','這里','卻說','自己','這樣','怎么','不是', '不知','這個','不能','如此'} #刪除不重要的詞語 for exword in excludes:del(counts[exword])items = list(counts.items()) items.sort(key=lambda x: x[1], reverse=True) # 根據詞語出現的次數進行從大到小排序#輸出統計結果 for i in range(50):word, count = items[i]print("{0:<5}{1:>5}".format(word, count))#繪圖 wc=WordCloud(background_color='white',# 設置背景顏色font_path='msyh.ttc',# 若是有中文的話,這句代碼必須添加,不然會出現方框,不出現漢字 scale=2, #按照比例進行放大畫布,如設置為2,則長和寬都是原來畫布的1.5倍max_words=100,# 設置最大現實的字數 max_font_size=80,# 設置字體最大值 stopwords=excludes)# 設置停用詞 wc.generate(text) # 顯示詞云圖 plt.imshow(wc) plt.axis('off') plt.show() wc.to_file(r'無盡武裝詞頻統計.jpg')3、顯示效果與文件保存:
【會在當前項目文件夾下保存名稱.jpg文件,測試代碼中是【無盡武裝詞頻統計.jpg】自行更換即可】
希望能對大家有所幫助。
歡迎【點贊】、【評論】、【關注】、【收藏】、【打賞】,為推廣知識貢獻力量。
總結
以上是生活随笔為你收集整理的【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordcloud】【绘图】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【时光之穿越一千年】python全文字频
- 下一篇: Java微服务(一)【idea安装202