同时对中文和英文进行统计
时间: 2024-01-17 16:03:57 浏览: 41
在对同时含有中英文的文本进行词频统计时,需要对中文和英文分别进行处理。以下是对同时含有中英文的文本进行词频统计并绘制词云图的 Python 代码:
```
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词
text_cn = jieba.cut(text) # 对中文进行分词
text_en = text.split() # 对英文进行分词
# 统计词频
word_freq = {}
for word in text_cn:
if word not in word_freq:
word_freq[word] = 1
else:
word_freq[word] += 1
for word in text_en:
if word not in word_freq:
word_freq[word] = 1
else:
word_freq[word] += 1
# 生成词云图
wc = WordCloud(background_color='white', width=800, height=600)
wc.generate_from_frequencies(word_freq)
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
上述代码中,我们首先使用 `jieba` 库对中文进行了分词,然后使用 `split()` 方法对英文进行了分词。接着分别统计每个词的出现频率,并将结果合并到一个字典中。最后使用 `wordcloud` 库生成词云图并绘制出来。需要注意的是,这种方式对于中英文混合的文本比较适用,如果需要处理其他语言的文本,还需要对分词方法进行相应调整。
阅读全文