wordcloud以及jieba的使用
词云也叫文字云,是一种可视化的结果呈现,常用在爬虫数据分析中,原理就是统计文本中高频出现的次,过滤掉某些干扰词,将结果生成一张图片,直观得到分析后数据的重要信息。
常用到的库就是wordcloud和jieba
还没有安装的话,先打开命令行格式
输入pip install wordcloud 下载wordcloud库 输入pip install jieba 下载jieba库
WordCloud对象常用参数 WordCloud是生成词云图的
而JieBa是优秀的中文分词库。它的原理是利用一个中文词库,确定中文字符之间的关联概率,汉字间概率大的组成词组,形成分词结果,除了分词,还可以添加自定义词组。
使用jieba.lcut(s),返回列表型分词结果
好了,这两个库的原理大概就是这样了。
今天测试的文档是B站入站必刷视频的有关信息 所用到的背景图片是一簇鲜花,背景颜色是白色
from wordcloud import WordCloudfrom PIL import Imageimport numpy as npimport matplotlib.pyplot as plt import jieba
打开文本
with open(“入站必看视频.csv”,encoding=“utf-8”) as f: s = f.read()
中文分词
text = ’ '.join(jieba.cut(s))
print(text)
生成对象
img = Image.open(“test1.jpg”) # 打开遮罩图片 mask = np.array(img) #将图片转换为数组
stopwords = [“我”,“你”,“她”,“的”,“是”,“了”,“在”,“也”,“和”,“就”,“都”,“这”]
#因为图片背景颜色是白色,所以这里用到了background_color=‘white’
wc = WordCloud(font_path=“msyh.ttc”, mask=mask, width = 1000, height = 700, background_color=‘white’, max_words=200, stopwords=stopwords).generate(text)
显示词云
plt.imshow(wc, interpolation=‘bilinear’)# 用plt显示图片 plt.axis(“off”) # 不显示坐标轴 plt.show() # 显示图片
保存到文件
wc.to_file(“test2.png”)
|