用python词频统计之三国演义前十位 并展示词云图
时间: 2023-07-19 21:30:11 浏览: 233
好的,我可以帮你完成这个任务。
首先,你需要先下载《三国演义》的电子版文本,将其保存为txt格式。然后,你需要安装一些Python库,包括jieba(用于中文分词)、wordcloud(用于生成词云图)等。你可以使用以下命令进行安装:
```python
!pip install jieba # 安装中文分词库jieba
!pip install wordcloud # 安装生成词云图库wordcloud
```
然后,你可以使用以下Python代码进行词频统计和生成词云图:
```python
import jieba
from collections import Counter
from wordcloud import WordCloud
# 读取文件
with open('san_guo_yan_yi.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 分词
words = jieba.cut(content)
# 统计词频
word_counts = Counter(words)
# 获取前10个高频词
top_10_words = word_counts.most_common(10)
# 输出前10个高频词
print('前10个高频词:')
for word, count in top_10_words:
print('{}: {}'.format(word, count))
# 生成词云图
wordcloud = WordCloud(background_color='white', font_path='simhei.ttf', width=800, height=600)
wordcloud.generate_from_frequencies(word_counts)
wordcloud.to_file('wordcloud.png')
```
其中,`san_guo_yan_yi.txt`是保存《三国演义》文本的文件名,需要根据实际情况修改。`top_10_words`存储了前10个高频词,你可以根据需要修改为前20个或其他数量。`simhei.ttf`是一个中文字体文件,用于在词云图中显示中文。你需要将其下载并保存在与Python文件相同的目录下。
运行以上代码后,你可以得到前10个高频词,并保存一个名为`wordcloud.png`的词云图。你可以使用以下代码显示词云图:
```python
import matplotlib.pyplot as plt
# 显示词云图
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
```
运行后,你就可以看到生成的词云图了。
阅读全文