以扶摇为例:如何使用Python绘制词云?
Python语言一直被称颂为很好学的一门编程语言,本文主要聊聊Python学习的一些感触,再以扶摇为例,谈谈如何使用Python绘制词云。
现在随着更多有企业的产品经理职位对于数据分析能力方面有更多要求,产品经理也随之需要学习数据分析的思维路线和数据分析的工具。数据分析的工具主要有:操作数据库的SQL语句、Excel、新进网红语言Python。
Python语言一直被称颂为很好学的一门编程语言,本人在研读一本入门书籍后,的确可以上手写一些代码文件,这里使用Python做一做《扶摇皇后》小说的词云图,每一句代码上面即是对这句代码的注释,解释语句的意思,之后顺带聊一聊我对Python学习的感触。
前言说明
至于为什么是词云图呢?
主要出于2点:
- 本人初次接触就很爱词云图,看起来是装逼利器,一直有使用Python做爬虫和词云的念头;
- “词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。(解释来自百度百科,“词云”对于文本分析还是很重要的)
如果希望能够看懂代码,那么需要具备:
- 了解Python语言的语法结构;
- 了解Python语言的标准包、第三方包的区别;
- Python代码基本是英文,意思一定程度上代表了它要做的事,懂英文,有代码感觉。
如果希望能够拿来做练习,那么需要具备:
- 你的电脑已经安装了Python;
- 你对于Python已经入门,需要拿例子做练习;
- 你能够熟练使用Python带的pip安装各种第三方包;
- 安装了顺手的代码编辑器,能够方便码代码;
- 下载扶摇小说txt文件。
示例环境
电脑系统:Window10
Python版本:Python3.7(Python2和Python3差别会比较大,很多语句经过淘汰变更,所以尽量使用新版本)
代码编辑器:Sublime Text3
实例正文
以下截图为代码实例(这里放截图,如果你希望熟练代码,最好是自己手动敲,培养代码感情):
例子中使用的扶摇图片,如下(图片从某度上搜索):
这里需要注意的是,图片需要是白色背景,方便代码识别。这个图片是用PS去掉背景的,看着稍微糙一些。
例子中使用WordCloud的fitwords函数,根据词频绘制图片,取排名前1000个词,效果图如下:
从词云图中也可以看出了,主角是扶摇无疑,接下来是两个大大的“长孙”和“无极”,一个小的“元昭诩”,男主子位置稳固。“北野”、“宗越”、“云痕”等人物的名字大小都代表了在小说中出现的次数与分量,其中男主子宠物“元宝”丝毫不落下风,俨然仗着自己男一号萌宠的身份和可耐的形象力压群雄。
其他的词,大家也可以分析一番,像“眼神”、“目光”、“微笑”、“轻轻”等词很容易让人再次联想到剧中的浪漫情节,bulabula…
我的感触
在做这个实例的时候,是找的网络上的示例看着做的,但是代码并非直接拿过来就可以使用,在本地会出现不同的错误,网络上的示例代码本身也有小部分缺失,这时候需要根据bug的提示错误一边某度一边根据代码感觉进行更改试验调试,最终出来结果。
代码的神奇之处还在于:同样的代码换了个环境可能就出现不知名问题,所以要有耐心、怀着期待完成你自己的作品。
好了,实例到这里,那么此时本人对于Python的认识是怎么样的呢?真的是一部分人所说的“数据分析从入门到放弃”吗?
其实这是因人而异的,看你的目标和方法、希望掌握的程度了:
- Python入门还算比较容易,入门之后的深钻就需要下大功夫了;
- Pyhton很受欢迎,除了自带的标准库之外,还有众多第三方包,适用于不同场景,如果只是做数据分析的话,抓住其中的重点来看:numpy、pandas、matplotlib,其他的包用到的时候某度就好了;
- 语言功能很强大,本次实例中除去注释之后,真正用的语句并不多,一个包提供的函数就能够实现酷炫能力;
- Python学习的重难点是:第三方包众多、函数众多、不同函数参数不同,各个函数的作用与用法都需要琢磨理解,根据自己的需求找到使用的函数;
- 学习Pyhton要有好的心态,有目标地学,入门、掌握学习方法、根据实际场景运用;
对于数据分析,Python只是一个很重要的工具,有些情况下需要掌握,但数据分析最重要的还是思路和业务使用,根据用途使用工具,不能剑走偏锋,只是掌握了工具而没有思路理论支持的话,很容易就从产品经理学成数据分析师了。
在数据分析思路与数据分析工具之间一定要找一个很好的平衡点,让我们在产品路上一起努力吧。
本文由 @妮娜猴 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Pixabay,基于 CC0 协议
感谢分享,受用了…
ValueError: We need at least 1 word to plot a word cloud, got 0.
这个错误怎么解决呢
错误信息提示:没有提取出文字,可以在绘制词云前打印你的提取结果看看。
很有趣
😯
哪本如本的书~推荐一下呗
《Python从入门到实践》