用python写一段统计词频的代码
时间: 2023-03-30 13:01:04 浏览: 86
可以的,以下是一段统计词频的 Python 代码:
```python
import re
from collections import Counter
def count_words(text):
words = re.findall(r'\w+', text.lower())
return Counter(words)
text = "Hello world, hello python, hello AI, world is beautiful"
word_count = count_words(text)
print(word_count)
```
输出结果为:
```
Counter({'hello': 3, 'world': 2, 'is': 1, 'beautiful': 1, 'python': 1, 'ai': 1})
```
相关问题
使用【python】写【统计词频】的代码
在Python中,我们可以使用collections模块中的Counter类来统计文本中每个单词出现的频率。下面是一个基本的例子:
```python
from collections import Counter
import re
def count_words(text):
# 清理文本,移除标点符号并转换为小写
text = re.sub(r'[^\w\s]', '', text).lower()
# 分割文本为单词列表
words = text.split()
# 使用Counter计算词频
word_counts = Counter(words)
return word_counts
# 测试
text = "这是一段测试文本,它包含了一些重复的词语,比如测试,文本,和一些其他词汇。"
word_frequency = count_words(text)
for word, frequency in word_frequency.most_common():
print(f"'{word}': {frequency}次")
```
这个代码首先通过正则表达式去除文本中的非字母数字字符,并将所有内容转为小写。然后,它按照空格分割文本成单词列表,并使用Counter计算每个单词出现的次数。`most_common()`函数返回一个列表,按频率降序排列元素。
用Python对中文文档进行词频统计的代码
在Python中,我们可以使用`jieba`库来进行中文文本的分词,并结合`collections`库中的`Counter`类进行词频统计。以下是一个简单的示例:
```python
# 首先需要安装jieba库,如果未安装可以使用pip install jieba命令
import jieba
from collections import Counter
def word_frequency(text):
# 使用jieba进行中文分词
words = jieba.lcut(text)
# 使用Counter计算每个词的频率
word_counts = Counter(words)
return word_counts
# 测试示例
text = "这是一段测试的中文文档,用于演示词频统计。"
freqs = word_frequency(text)
# 输出最常出现的前10个词及其频率
for word, freq in freqs.most_common(10):
print(f"{word}: {freq}")
阅读全文