首页
学习
活动
专区
工具
TVP
发布

Pyhton学习笔记(二)

从词云图开始第一个Python实例

一、引言

词云图其实是一种词频统计的可视化,可以塑造成各种形状,显得很新奇,被广泛应用于各种场合。那么如何制作一个词云图呢?用Excel显然无法快速实现(如果给一个高达几百万字的文本文档的话,统计词频工作量就很可怕了),而利用Python只需要几分钟就可以搞定。

(词云图,图源网络)

二、步骤解析

在词云图的制作中,主要分为对文本的解析(主要是分词)、词频统计、制图。

分词,就是把文本分割成单个词汇。计算机实际上不能识别自然语言,比如“李雷喜欢韩梅梅”,如果不分词,这对于计算机来说就是一串字符,没有特定含义。经过分词,可以被识别为“李雷”、“喜欢”和“韩梅梅”三个词语这里假定分词包能够识别李雷之类的词语)

分词后才能进行词频统计。比如可以统计“李雷”出现了多少次,“喜欢”出现了多少次,这样可以统计出各个词语出现的频次。

制图。词频统计好以后,就可以根据各自的频次制作词云图(用词语在图中的大小来表示词语出现的频率)。

三、准备工作

准备工作之jieba、matplotlib、wordcloud的安装。

包可以理解为一种封装好的标准化的程序,跟函数类似。包某种程度上是函数的集合,利用包我们可以大大减少开发工作量,只要调用别人已经封装好的标准包,我们就可以快速完成开发任务。

不像C语言,一个诸如1873892748989*18972428948之类的大数运算都需要设计数组去实现(当然,C语言在执行速度上领先Python)。

那么,要调用包的话就要先安装包。安装包的主要方式:

全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba

半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install

手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录

这里推荐用easy_install jieba安装。

上一篇推送介绍环境变量的时候提到Python.exe,easy_install跟Python一样,也是一个exe可执行文件,不同的是easy_install是Python中专用于安装包的,一般在安装Pyhton的时候已经自动安装好了,并且easy_instal.exe所在的路径也添加到环境变量了(意味着在任何地方打开Powershell,输入easy_install都可以被计算机搜索到并且执行)。

如图,注意观察路径,Pyhton.exe在C:\Users\mcc\AppData\Local\Programs\Python\Python37-32,Easy_install.exe则在其下一级目录中(C:\Users\mcc\AppData\Local\Programs\Python\Python37-32\Scripts):

即上一目录中的Scripts文件夹下。如果不能执行Easy_install.exe,按照上一篇推送中的办法查看环境变量,将这个路径添加到环境变量中去。

这里推荐用easy_stall的原因是,由于pip方法中,pip是最新版本的话,存在冲突,如果用pip会出错,只有把pip降级到9.0.3才可以正常用。

可以在Powershell(按住Shift+右键打开)中执行:

用easy_stall安装的详细步骤是:在任意位置打开Powershell,输入:

等待进度条走完。

如上,根据上述方法安装完毕剩下的matplotlib(画图的包)和wordcloud(词云图统计词频的包):

至此,准备工作完毕。

四、词云图制作

在Python中,首先就是导入相应的包:

然后,准备好我们要制作词云图的文档,这里用斗破苍穹.txt演示:

这里有1600余万字节,每个汉字两个字节计算就有800余万字(因此人工统计词频不可想象)。

上述代码表示打开并且读取该文档到变量f(关于路径、字符串、文档编码等较为复杂,后续整理后详述)。

上述代码时分词,用斜杠/分隔开。

上述代码就是具体制作词云图的步骤,每一步骤后续都有注释。

在Python中,用“#”来注释,“#”后面的字符不会被python解释器解释。其它语言解释符号:

C语言、java、JavaScript和Stata等

注意,执行后该词云图保存路径为:

D:\Desktop\ciyuntu.png

这是我的桌面路径。

因此添加了:

这个语句保证在执行后可以立即看到词云图效果。

五、效果图

这就是这斗破苍穹这部小说800万字的词频效果。

显然,一些语句中常用的连接词词频最高,也符合预期。更进一步可以通过剔除等操作实现更加精准、更加符合预设目标的词云图制作。

当然,这是最基础的词云图,用于创建第一个Python实例比较合适。更丰富的,还可以变换形状,按照特定形状排列词汇、透明度设置等等,这里不再详述。

最后附上词云图的完整代码:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181228G1LMMR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券