p ython词频统计
时间: 2024-01-17 09:02:39 浏览: 117
下面是一个简单的Python程序,用于对一个文本文件进行词频统计:
```python
import re
# 读取文件内容
with open('filename.txt', 'r') as f:
text = f.read()
# 将文本转换为小写,去除标点符号和换行符
text = re.sub(r'[^\w\s]', '', text.lower())
text = re.sub(r'\n', ' ', text)
# 分割文本为单词列表
words = text.split()
# 统计每个单词出现的次数
word_counts = {}
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
# 输出结果
for word, count in sorted(word_counts.items(), key=lambda x: x[1], reverse=True):
print(f'{word}: {count}')
```
该程序首先读取一个文本文件,然后将文本转换为小写,去除标点符号和换行符,接着将文本分割为单词列表。然后,它统计每个单词出现的次数,并按照出现次数从高到低排序,最后输出结果。
相关问题
p ython文本词频统计
以下是 Python 代码实现文本词频统计的基本步骤:
1. 读取文本文件
2. 将文件内容转换为小写字母,去除标点符号和数字
3. 将文本内容分割成单独的单词
4. 统计每个单词出现的次数
5. 将结果输出或保存到文件中
代码示例:
```python
import string
# 读取文本文件
with open('example.txt', 'r') as file:
text = file.read()
# 转换为小写字母,去除标点符号和数字
text = text.lower()
text = text.translate(str.maketrans('', '', string.punctuation))
text = text.translate(str.maketrans('', '', string.digits))
# 分割成单独的单词
words = text.split()
# 统计每个单词出现的次数
word_count = {}
for word in words:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 输出结果
for word, count in word_count.items():
print(word, count)
```
在上述代码中,我们使用了 Python 内置的字符串处理函数 `translate()` 和 `split()`,以及字典数据类型来完成文本词频统计的任务。
p ython中文词频统计
要进行Python中文词频统计,可以使用jieba库来进行中文分词,然后使用collections库来统计词频。
首先需要安装jieba库,可以使用以下命令:
```
pip install jieba
```
然后可以编写如下的代码来进行中文词频统计:
```python
import jieba
from collections import Counter
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 进行中文分词
words = jieba.cut(text)
# 统计词频并输出前10个词
word_counts = Counter(words)
for word, count in word_counts.most_common(10):
print(word, count)
```
其中,'text.txt'是待统计的文本文件名,可以根据实际情况进行修改。运行上述代码后,会输出前10个出现频率最高的词及其出现次数。
需要注意的是,中文分词可能会受到一些特殊的词语和语法结构的影响,因此对于不同的文本,可能需要进行一定的调整和优化才能得到较为准确的结果。
阅读全文