暂无分类
暂无标签
发布于2020-02-25 14:27 阅读(394) 评论(0) 点赞(2) 收藏(3)
0
1
2
3
4
对于大片文本数据的可视化可以使用词云,既直观又酷炫。
步骤主要为:
1.准备好数据文本,最好是字符串。但绝大可能是列表,此时需要使用【text=’ '.join(list)】这样的方法变成字符串;
2.使用jieba进行分词,用法可参考:
https://blog.csdn.net/reims2046/article/details/72869337
3.将jieba返回的内容传入wordcloud
wordcloud参数用法可参考:
https://blog.csdn.net/zx1245773445/article/details/100894576
4.预览以及保存
纯文本可以通过以下代码简单制作词云
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
#data为纯文本数据
js='xxxxxxxx'
js_cut=jieba.lcut(js)
js_cut=' '.join(js_cut)
wc = WordCloud(
background_color='black', # 设置背景颜色为黑色
font_path='/font/msyh.ttc', # 显示中文,可以更换字体
stopwords={'数据分析','数据挖掘'}, # 设置停用词,停用词则不再词云图中表示
max_font_size=150, # 设置字体最大值
random_state=1, # 设置有多少种随机生成状态,即有多少种配色方案
scale=20 # 设置生成的词云图的大小
)
wc.generate(js_cut)
wc.to_file('js.png') #保存图片
plt.imshow(wc) #用plt显示图片
plt.axis('off') #不显示坐标轴
plt.show()
如果数据是列表,如
import pandas as pd
df=pd.read_csv('job_info.csv', encoding='gbk')
js=df['job_skills'].tolist()
如果直接使用前面的代码,会出现报错
原因是列表中可能存在空值,jieba无法识别,所以必须去除空格,完整代码如下
import pandas as pd
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
df=pd.read_csv('job_info.csv', encoding='gbk')
js=df['job_skills'].tolist()
while '' in js:
js.remove('')
js=' '.join(js)
js_cut=jieba.lcut(js)
js_cut=' '.join(js_cut)
wc = WordCloud(
background_color='black', # 设置背景颜色为黑
font_path='/font/msyh.ttc', # 显示中文,可以更换字体
stopwords={'数据分析','数据挖掘'}, # 设置停用词,停用词则不再词云图中表示
max_font_size=150, # 设置字体最大值
random_state=1, # 设置有多少种随机生成状态,即有多少种配色方案
scale=20 # 设置生成的词云图的大小
)
wc.generate(js_cut)
wc.to_file('js.png') #保存图片
plt.imshow(wc) #用plt显示图片
plt.axis('off') #不显示坐标轴
plt.show()
0
1
2
3
4
5
6
7
8
作者:天青色等烟雨
链接: https://www.pythonheidong.com/blog/article/233336/a80e437ec6a483a65f59/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!