码迷,mamicode.com
首页 > 其他好文 > 详细

云图详细解析笔记

时间:2017-08-25 15:50:21      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:详细   findall   state   组合   gbk   csv   compile   generate   需要   

                                云图详细解析笔记

说明:本文是参看大牛代码后总结的笔记,不清楚的地方可参看大牛源码

大牛源码地址:https://www.zhihu.com/question/28975391/answer/100796070

生成云图的主要函数为: WordCloud方法里面的generate函数

eg: my_wordcloud=WordCloud().generate(txt)

txt:将要显示的文字

WordCloud():wordcloud方法,里面的参数可以配置

eg: wordcloud = WordCloud(font_path=path, background_color="black", margin=5, width=1800, height=800,mask=alice_mask,max_words=2000,max_font_size=60,random_state=42) 

wordcloud = wordcloud.generate(txt)

mask 英语意思为面具,这里就是在云图上面套上这样一个面具,让其显示为面具图片的形状

 和词云图相关的知识

1、文字清洗

2、结巴分词

3、去除无用的词

4、PIL包打开面具图片

--------------------------------------------------

文字清洗

1、去除多余的符号,利用re包筛选出中文汉字        

import re        

pattern=re.compile(‘[\u4e00-\u9fa5]‘)        

ls=re.findall(pattern,txt字符串类型),返回列表类型,单个中文字

1.2、将单个字组合成为没有空格的字符串,用join比较方便,当然也可以用for循环实现        

words_str=‘‘.join(ls)

2、结巴分词 import jieba jieba.cut(words_str),返回生成器对象,需要转化成list类型

 cleaned_word=list(jieba.cut(words_str))  

3、去除无用的词(比如,的,很 诸如此类的副词)   

去除无用词需要用到 stopwords.txt(可以在网上下载),将stopwords.txt中存在的词,从cleaned_word中剔除

stopwords=pd.read_csv("D:\Python34\stopwords.txt",index_col=False,quoting=3,sep="\t",names=[‘stopword‘], encoding=‘gbk‘)

words_df=words_df[~words_df.segment.isin(stopwords.stopword)]

words_df为DateFrame类型,segment为中文这一列的名字,或者叫索引

4、PIL包打开面具图片

alice_mask = np.array(PIL.Image.open(‘D:/Python34/coding/pachong/1.png‘)) 打开一幅图片,将图片矩阵数据赋值给WorldCloud的参数mask

wordcloud = WordCloud(font_path=path, background_color="black", margin=5, width=1800, height=800,mask=alice_mask,max_words=2000,max_font_size=60,random_state=42)

用wordcloud.generate(txt)方法显示词云图 。

注: 如果词放在txt文件里面,则首先需要将文件打开为 字符串类型 txt=open(r‘D:\Python34\coding\pachong\neiwu.txt‘,‘r‘).read()

 来源自:https://www.zhihu.com/question/28975391/answer/100796070

云图详细解析笔记

标签:详细   findall   state   组合   gbk   csv   compile   generate   需要   

原文地址:http://www.cnblogs.com/xhslovecx/p/7428198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!