使用python编写统计txt文本中词语出现频率前十的代码并且制作成可以显示出现次数的柱状图
时间: 2024-01-09 18:04:31 浏览: 23
好的,以下是完整的代码,包括统计单词频率和绘制柱状图的部分:
```python
from collections import Counter
import matplotlib.pyplot as plt
# 打开文本文件并读取内容
with open('file.txt', 'r') as f:
content = f.read()
# 将文本内容分割成单词列表
words = content.split()
# 使用Counter计算每个单词出现的次数
word_counts = Counter(words)
# 获取出现频率前十的单词以及它们的频率
top_words = word_counts.most_common(10)
# 将单词和出现次数分别存储在两个列表中
words = [word[0] for word in top_words]
counts = [word[1] for word in top_words]
# 绘制柱状图
plt.bar(words, counts)
# 设置图表标题和坐标轴标签
plt.title('出现频率前十的单词及其频率')
plt.xlabel('单词')
plt.ylabel('出现次数')
# 显示图表
plt.show()
```
请将其中的`file.txt`替换成你要统计的文本文件名,然后运行代码即可。该代码会先统计出现频率前十的单词及其频率,然后将其绘制成柱状图并显示出来。
相关问题
使用python编写统计txt文本中词语出现频率前十的代码
可以使用Python中的Counter模块来实现统计词频的功能。以下是一个示例代码:
```python
from collections import Counter
# 打开文本文件并读取内容
with open('file.txt', 'r') as f:
content = f.read()
# 将文本内容分割成单词列表
words = content.split()
# 使用Counter计算每个单词出现的次数
word_counts = Counter(words)
# 获取出现频率前十的单词以及它们的频率
top_words = word_counts.most_common(10)
# 打印结果
print('出现频率前十的单词及其频率:')
for word, count in top_words:
print(f'{word}: {count}')
```
在代码中,我们首先打开文本文件并读取其中的内容。然后使用split()方法将文本内容分割成单词列表。接下来,使用Counter模块计算每个单词出现的次数。最后,获取出现频率前十的单词以及它们的频率,并打印结果。
并且制作成可以显示出现次数的柱状图
要制作单词出现次数的柱状图,可以使用Python中的matplotlib库。以下是一个示例代码:
```python
from collections import Counter
import matplotlib.pyplot as plt
# 打开文本文件并读取内容
with open('file.txt', 'r') as f:
content = f.read()
# 将文本内容分割成单词列表
words = content.split()
# 使用Counter计算每个单词出现的次数
word_counts = Counter(words)
# 获取出现频率前十的单词以及它们的频率
top_words = word_counts.most_common(10)
# 将单词和出现次数分别存储在两个列表中
words = [word[0] for word in top_words]
counts = [word[1] for word in top_words]
# 绘制柱状图
plt.bar(words, counts)
# 设置图表标题和坐标轴标签
plt.title('出现频率前十的单词及其频率')
plt.xlabel('单词')
plt.ylabel('出现次数')
# 显示图表
plt.show()
```
在代码中,我们首先打开文本文件并读取其中的内容。然后使用split()方法将文本内容分割成单词列表。接下来,使用Counter模块计算每个单词出现的次数,并获取出现频率前十的单词以及它们的频率。然后,将单词和出现次数分别存储在两个列表中,并使用matplotlib库绘制柱状图。最后,设置图表标题和坐标轴标签,并显示图表。