Python怎么根据词表进行词频统计
时间: 2024-01-28 22:04:59 浏览: 121
在Python中,可以使用`collections`库中的`Counter`类来进行词频统计。对于给定的文本,我们可以先将其分词,然后遍历分词后的结果,统计每个词在文本中出现的次数,最后返回一个按照词频降序排列的词频统计结果。下面是一个简单的示例代码:
```python
from collections import Counter
import jieba
# 加载词表
with open("path/to/vocabulary.txt", "r", encoding="utf-8") as f:
vocabulary = [line.strip() for line in f]
# 分词
text = "text to be analyzed"
words = jieba.cut(text)
# 统计词频
word_counts = Counter(words)
# 提取词表中的词并按照词频降序排列
result = [(word, count) for word, count in word_counts.items() if word in vocabulary]
result = sorted(result, key=lambda x: x[1], reverse=True)
# 打印结果
print(result)
```
在上面的代码中,首先使用`jieba`库对文本进行分词。然后使用`Counter`类统计每个词在文本中出现的次数。接着,我们从词频统计结果中提取出词表中的词,并按照词频降序排列。最后打印结果即可。
需要注意的是,上面的代码中使用了中文分词工具`jieba`,如果需要对其他语言的文本进行词频统计,需要使用相应的分词工具。此外,需要根据实际情况修改词表的加载方式和文件路径。
阅读全文