Python jieba+wordcloud制作词云

对于大片文本数据的可视化可以使用词云,既直观又酷炫。
在这里插入图片描述
步骤主要为:
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
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值