python中文词频统计并利用词云图实现数据可视化
时间: 2023-09-08 11:11:48 浏览: 141
好的,这是一个很好的问题。以下是一些步骤:
1. 下载中文分词工具,如jieba(可以使用pip install jieba进行安装)。
2. 导入需要统计词频的文本文件,读取文件内容并进行分词。可以使用以下代码:
``` python
import jieba
with open("filename.txt", "r", encoding="utf-8") as f:
content = f.read()
cut_text = jieba.cut(content)
result = " ".join(cut_text)
```
3. 统计每个词的出现次数,并按照词频从大到小排序。可以使用以下代码:
``` python
from collections import Counter
c = Counter(result.split())
top_word = c.most_common(100) # 统计前100个词频最高的词
```
4. 利用词云图进行数据可视化。可以使用Python的wordcloud库进行生成。可以使用以下代码:
``` python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
wc = WordCloud(font_path="font.ttf", background_color="white", width=1000, height=600, max_words=100, relative_scaling=0.5, collocations=False, normalize_plurals=False).generate_from_frequencies(dict(top_word))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
```
其中,font_path是字体文件的路径,可以使用本地的中文字体文件,width和height是词云图的大小,max_words是最多显示的词数,relative_scaling是词云图中词的大小比例,collocations和normalize_plurals分别表示是否考虑词组和是否考虑单复数。
希望这个简单的代码可以帮到你。
阅读全文