文本指定词频统计
时间: 2023-11-18 21:05:18 浏览: 77
统计文本词频并输出为Excel表格形式——Python实现
5星 · 资源好评率100%
要进行文本指定词频统计,可以按照以下步骤进行:
1. 读入文本文件,将文本内容存储到一个字符串变量中。
2. 将字符串变量中的文本转换为小写,并使用正则表达式过滤掉文本中的标点符号和其他非字母字符。
3. 将文本按照空格分割成单词列表。
4. 定义一个字典变量,用于存储单词出现的次数。
5. 遍历单词列表,对于每个单词,如果它在字典中已经存在,则将它的计数器加1,否则将它添加到字典中,并将计数器初始化为1。
6. 根据需要,可以对字典中的单词按照出现频率排序,或者只输出指定频率以上的单词。
下面是一个 Python 代码示例:
```python
import re
from collections import defaultdict
# 读入文本文件
with open('text.txt', 'r') as f:
text = f.read()
# 将文本转换为小写,并过滤标点符号和其他非字母字符
text = re.sub(r'[^\w\s]', '', text.lower())
# 分割文本为单词列表
words = text.split()
# 定义一个字典变量,用于存储单词出现的次数
word_counts = defaultdict(int)
# 统计单词出现次数
for word in words:
word_counts[word] += 1
# 输出指定频率以上的单词
for word, count in word_counts.items():
if count >= 3:
print(f'{word}: {count}')
```
在上面的示例中,文本文件名为 `text.txt`,我们只输出出现次数大于等于3的单词。如果需要输出所有单词的出现次数,可以将最后一个循环改为:
```python
for word, count in sorted(word_counts.items(), key=lambda x: -x[1]):
print(f'{word}: {count}')
```
这样就会按照单词出现次数从大到小排序输出。
阅读全文