Python怎么统计词频
时间: 2023-11-05 09:12:22 浏览: 179
Python可以使用字典(dict)来统计词频,具体实现方法如下:
```python
text = "hello world, hello python, world of python"
word_list = text.lower().split() # 先将文本转换为小写,并分割成单词列表
word_count = {} # 定义空字典用于统计词频
for word in word_list:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
print(word_count)
```
上述代码中,首先将文本转换为小写,并分割成单词列表。然后遍历列表中的每个单词,将其作为字典的键,如果该键不存在,则将其添加到字典中,并将值设置为1;如果该键已经存在,则将其对应的值加1。最后输出统计结果即可。
相关问题
Python统计词频
在Python中,统计词频通常使用内置的`collections`模块中的`Counter`类。`Counter`是一个方便的数据结构,用于计数可哈希对象(如字符串)在列表、元组或其他可迭代对象中的出现次数。以下是一个简单的步骤来统计一个文本中单词的频率:
```python
from collections import Counter
def word_frequency(text):
# 将文本转换为小写并分割成单词列表
words = text.lower().split()
# 使用Counter计算每个单词的频率
frequency = Counter(words)
return frequency
# 示例用法
text = "This is a sample sentence to demonstrate word frequency in Python."
word_freq = word_frequency(text)
# 打印结果
for word, freq in word_freq.most_common(): # .most_common()返回一个按频率降序排列的元组列表
print(f"'{word}': {freq}")
python统计词频绘制云图
要使用Python统计词频并绘制词云图,你可以按照以下步骤进行操作:
1. 首先,导入所需的库,包括pandas、WordCloud和matplotlib.pyplot。使用pandas库读取包含词频数据的Excel文件,并将数据转化为字典类型。
2. 创建一个WordCloud对象,并设置词云图的宽度、高度和背景颜色等参数。
3. 使用generate_from_frequencies方法生成词云图,传入之前转化的字典类型的词频数据。
4. 使用matplotlib.pyplot库展示生成的词云图。使用imshow函数显示词云图,并使用axis函数隐藏图形坐标轴。最后使用show函数显示图像。
下面是一个示例代码,展示了如何使用Python统计词频并绘制词云图:
```python
import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 导入数据并转化为字典类型
df = pd.read_excel('C:/VV/学习/读研/毕业论文/毕业论文稿件1/中间稿/目的地形象&情感分析/情感分析.xlsx', sheet_name='重庆长尾词')
word_freq = dict(zip(df\['词汇'\], df\['词频'\]))
# 创建词云对象并生成词云
wc = WordCloud(width=800, height=400, background_color='white')
wc.generate_from_frequencies(word_freq)
# 使用matplotlib库展示生成的词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
这段代码会根据给定的Excel文件中的词频数据生成一个词云图,并在图像窗口中显示出来。你可以根据自己的需求修改文件路径和其他参数来适应你的数据和样式要求。
#### 引用[.reference_title]
- *1* *2* *3* [Python通过已有词汇词频制作简单词云图](https://blog.csdn.net/Thourgh_07/article/details/129707534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文