利用jieba库,进行词频统计。 要求:读取“边城.txt”,去除"边城停用词库.txt"中列出的停用词后,统计各词出现的次数,输出次数最高的15个词及其出现的次数,并以词云形式呈现该结
时间: 2024-05-08 20:18:24 浏览: 8
果。
好的,让我来为您解答这个问题。首先,为了进行词频统计,我们需要安装并导入jieba库和wordcloud库。您可以使用以下代码进行安装:
```
!pip install jieba
!pip install wordcloud
```
接下来,我们读取文本文件和停用词文件,并进行分词、去停用词和统计词频的操作。请您使用以下代码(请将“边城.txt”和“边城停用词库.txt”文件放在同一目录下,并替换掉代码中的文件名):
```python
import jieba
from wordcloud import WordCloud
from collections import Counter
# 读取文本文件和停用词文件
with open('边城.txt', 'r', encoding='utf8') as f:
text = f.read()
with open('边城停用词库.txt', 'r', encoding='utf8') as f:
stop_words = set([line.strip() for line in f.readlines()])
# 分词并去停用词
words = [w for w in jieba.cut(text) if w not in stop_words]
# 统计词频
word_freq = Counter(words)
# 输出次数最高的15个词及其出现的次数
top15 = word_freq.most_common(15)
for word, freq in top15:
print(word, freq)
# 生成词云
wc = WordCloud(width=800, height=400, background_color='white', max_words=200, font_path='STHeiti Medium.ttc')
wc.generate_from_frequencies(word_freq)
wc.to_file('wordcloud.png')
```
代码中的注释已经解释了每个步骤的作用。运行完以上代码后,您将得到一个输出词频统计结果的列表,以及一个保存了词云图的文件“wordcloud.png”。您可以使用以下代码显示词云图:
```python
from PIL import Image
import matplotlib.pyplot as plt
# 打开词云图并显示
img = Image.open('wordcloud.png')
plt.imshow(img)
plt.axis('off')
plt.show()
```
这样就完成了利用jieba库,进行词频统计的操作,并生成了词云图。希望我的回答对您有帮助!