更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

用python生成词云图教程

  • 发布: 解忧杂货铺
  • 来源:大数据交流中心
  • 时间:2017-12-31 14:01

闲话不多说,直接上干货!

STEP1  

安装jieba包

点击桌面菜单栏的开始按钮,输入cmd回车,进入命令窗口。

在命令行输入 pip install jieba回车,安装jieba包。

安装wordcloud包

同jieba一样,也可以使用pip install wordcloud安装,但是安装速度很慢,通常使用whl文件安装。

python常用whl文件的下载地址:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

进入该网址,搜索wordcloud,小编下载的是图中红框所示文件

下载好whl文件后,在命令行中输入pip install和空格,将whl文件直接拖拽至命令行窗口,点击回车

jieba包和wordcloud包都安装完成后,准备工作就完成了。

STEP2  

编写词云图代码

# 导入需要的包

import jieba

from wordcloud import WordCloud

from scipy.misc import imread

import matplotlib.pyplot as plt

其中imread用于读取图片,plt用于最后词云图展示

# 读取文本文件

text=open('G:/py/wc/text.txt','r',encoding='gbk').read()

# 对文本进行分词

cut_text=' '.join(jieba.cut(text))

# 读取图片

color_mask = imread("G:/py/wc/11.png")

  • 文件路径最好为英文,尽量避免报错

  • 若运行后提示encoding编码错误,将encoding更改为utf8或其他编码格式,或者删除encoding

  • 图片有png、jpg等多种格式,按照实际情况输入

  • 所有文件最好放在同一文件夹下,方便输入路径

# 生成词云

cloud = WordCloud(

     font_path='G:/py/wc/new_songti.ttc',

        background_color='white',

        mask=color_mask,

        max_words=2000, 

        max_font_size=80)

word_cloud = cloud.generate(cut_text)

  • 字体路径必须设置

  • 可以使用 help 功能查看WordCloud的所有参数

  • 在spyder中,选中代码中的WordCloud,按住ctrl键,点击鼠标,也可以调出WordCloud的参数。通过调试参数,可以画出更加美观的词云图

# 输出图片

plt.axis('off')

plt.imshow(word_cloud)

plt.show()

删掉最后一行代码 plt.show(),对词云图是没有影响的,但是最好养成良好习惯,只要有图片展示的代码中,最好加上。

plt.show() 起到全局控制的作用,当一个脚本中出现多个图片展示时,不加plt.show() 会导致图片输出错误

最终生成的词云图:

观察词云图,发现“一个”、“知道”、“他们”、“我们”这些词汇,对于理解《三体》帮助不大,需要设置一个过滤机制,筛选掉这些意义不大的词汇。

首先我们创建一个用于存放过滤词的txt文件。

运行过滤词的代码

# 导入停止词

stopword = open('G:/py/wc/stopword.txt','r').read()

# 转换为列表

cut_text=cut_text.split(' ')

cut_text=list(cut_text)

stopword = stopword.split(' ')

stopword=list(stopword)

# 去除停止词

for i in stopword:

    for j in cut_text:

        if j == i:

            cut_text.remove(j)     

# 列表转字符串

cut_text=" ".join(cut_text)

word_cloud = cloud.generate(cut_text)

再次输出词云图

plt.axis('off')

plt.imshow(word_cloud)

plt.show()

过滤后的词云图比过滤前主题更明确了,现在没有读过三体的小伙伴也能大概了解到这本书是在讲什么啦!

为了方便小伙伴,本文提供所涉及材料的下载地址:

https://pan.baidu.com/s/1c1EbfuK

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:用Python自动刷新抢12306火车票(附源码)
下一篇:Win7 安装Python3.6,Win7 安装Python3.6 教程

Python编程练习三

Python正则表达式练习

Python 2的结束意味着什么

用python做一个划词翻译软件

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省