词频统计的Python程序
时间: 2024-06-24 17:01:27 浏览: 83
词频统计是自然语言处理中常见的任务,用于确定文本中各个单词或短语出现的频率。在Python中,我们可以使用内置的`collections`模块中的`Counter`类,或者使用第三方库如`NLTK`(Natural Language Toolkit)和`spaCy`来进行词频统计。这里是一个简单的例子:
```python
from collections import Counter
import re
def word_frequency(text):
# 使用正则表达式去除标点符号并分词
words = re.findall(r'\b\w+\b', text.lower())
# 使用Counter计算词频
word_counts = Counter(words)
return word_counts
# 示例用法
text = "This is a sample sentence. It contains some words that will be counted."
freqs = word_frequency(text)
for word, freq in freqs.most_common():
print(f"{word}: {freq}")
相关问题
mapreduce词频统计python
MapReduce是一种分布式计算模型,用于处理大规模数据集。在Python中,我们可以使用Hadoop Streaming来实现MapReduce。词频统计是MapReduce中的一个经典案例,可以通过MapReduce来实现对大规模文本数据的词频统计。具体实现过程可以参考Python的Hadoop Streaming库,使用Python编写Mapper和Reducer程序,将数据分割、映射、排序、分组和归约等操作分别交给Mapper和Reducer程序来完成,最终得到词频统计结果。
白鹿原词频统计python
白鹿原是一部由陈忠实所写的长篇小说,它讲述了民国时期白鹿原上几个家族之间的恩怨情仇。词频统计是指对文本中的各个单词出现的频率进行统计和分析,可以通过Python语言来实现。具体来说,可以通过Python的文件读写和字符串处理功能,编写程序来实现对白鹿原小说中各个单词出现频率的统计。首先需要读取白鹿原小说文本文件,将其内容转化为字符串,然后对字符串进行分词、去除停用词等操作,最后统计各个单词出现的次数并输出结果。以下是一个简单的白鹿原词频统计Python代码示例:
```
# -*- coding:utf-8 -*-
import jieba
import collections
# 读取文件
with open('bailuyuan.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 分词
words = jieba.cut(content)
# 去除停用词
stopwords = ['的', '了', '是', '在', '他', '她', '它', '他们', '她们', '它们']
words_filtered = [word for word in words if word not in stopwords]
# 统计词频
word_count = collections.Counter(words_filtered)
# 输出结果
for word, count in word_count.most_common(20):
print(word, count)
```
阅读全文