
正文
【python】利用jieba中文分词进行词频统计
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
以下代码对鲁迅的《祝福》进行了词频统计:
import io
import jieba
txt = io.open("zhufu.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
word, count = items[i]
print (u"{0:<10}{1:>5}".format(word, count))
结果如下:

并把它生成词云
from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba # 分词
def trans_CN(text):
# 接收分词的字符串
word_list = jieba.cut(text)
# 分词后在单独个体之间加上空格
result = " ".join(word_list)
return result with open("zhufu.txt") as fp:
text = fp.read()
# print(text)
# 将读取的中文文档进行分词
text = trans_CN(text)
mask = np.array(image.open("xinxing.jpg"))
wordcloud = WordCloud(
# 添加遮罩层
mask=mask,
font_path = "msyh.ttc"
).generate(text)
image_produce = wordcloud.to_image()
image_produce.show()
效果如下:









