詞云是一種用來展示文本數據中關鍵詞頻率的圖形化工具,它通過把不同關鍵詞出現的頻率大小轉換成文字大小和顏色,從而展示出文本數據中的主題、關鍵字等。
這里介紹一種使用 Python 繪制詞云的方法,需要用到兩個庫:jieba 和 wordcloud。
# 導入所需的庫 import jieba from wordcloud import WordCloud # 讀取文本文件 with open('text.txt', 'r', encoding='utf-8') as f: text = f.read() # 對文本進行分詞 words_list = jieba.lcut(text) # 把分詞結果轉化為字符串 words = ' '.join(words_list) # 配置詞云參數 wc = WordCloud(width=800, height=600, background_color='white', font_path='msyh.ttc', max_words=100) # 生成詞云 wc.generate(words) # 保存詞云圖片 wc.to_file('wordcloud.png')
上述代碼中,'text.txt' 是待處理的文本文件名,'msyh.ttc' 是字體文件名,用于設置詞云中文本的字體樣式。'max_words' 參數可以控制詞云圖象中最多顯示多少個關鍵詞。
最后使用 'to_file()' 方法,將生成的詞云圖像保存到本地。
本方法還可以通過 'stopwords' 參數來指定停用詞文件,過濾掉不需要展示的關鍵詞,例如:'
# 指定停用詞文件 stopwords_file = 'stopwords.txt' # 讀取停用詞文件 with open(stopwords_file, 'r', encoding='utf-8') as f: stopwords = f.read() # 把停用詞轉化為列表 stopwords_list = stopwords.split() # 配置詞云參數,添加停用詞 wc = WordCloud(width=800, height=600, background_color='white', font_path='msyh.ttc', stopwords=stopwords_list, max_words=100)
代碼中的 'stopwords.txt' 是存放停用詞的文本文件,可以從網上下載現成的。
通過以上方法,即可輕松繪制出漂亮的詞云圖像,并展示文本數據中的主題、關鍵字等,對于數據分析、可視化等領域都有很大的應用價值。
上一篇python 自帶的棧
下一篇python 自然數指數