首页 > 搜索 > 你踩着我的数据了txt,一步一步教你如何用Python做词云

你踩着我的数据了txt,一步一步教你如何用Python做词云

互联网 2022-01-19 16:07:30

前言

在大数据时代,你竟然会在网上看到的词云,例如这样的。

Python学习资料或者需要代码、视频加Python学习群:960410445

看到之后你是什么感觉%3f想不想自己做一个?

如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流行的编程语言,你不仅可以用它做数据分析和可视化,还能用来做网站、爬取数据、做数学题、写脚本替你偷懒……

如果你之前没有编程基础,没关系。希望你不要限于浏览,而是亲自动手尝试一番。到完成的那一步,你不仅可以做出第一张词云图,而且这还将是你的第一个有用的编程作品。

安装 wordcloud库

请确保你的python环境没有问题,我用的开发工具是VsCode,首先你要在Python扩展中安装python开发环境(当然,这不是为你的windows安装python)

那么你还需要安装所需要的第三方库,那么在VSCode中并没有PyCharm那么专业,这里需要获得你自己的Python脚本位置。

我们可以发现里面有一个名为pip.exe文件,这个文件就是python官方给我们去安装python第三方库的一个程序,那么我们可以在VsCode的终端中就可以去通过它,这也是我们为什么要获取python安装位置的根本原因。

例如我们安装WordCloud,我们的操作如下:

pipinstall WordCloud

数据

这个时候我们就要开始Code了,我们一定需要数据,这里我自己找了一个绕口令,内容如下:

Betty Botter bought some butter but she said the butter's bitter. If I put it in my batter it will make my batter bitter. So%2c she bought some better butter%2c better than the bitter butter and she put it in her batter and her batter was not bitter. So 'twas good that Betty Botter bought some better butter.

翻译: 贝蒂·波特买牛油, 可她说:“牛油是苦的。 不过加上一点好牛油—— 可以使苦牛油更好点。” 于是她买了一点牛油, 比苦牛油好点的牛油。 掺了之后苦牛油真的变的好多了。 所以这就是贝蒂·波特买的一点比苦牛油好点的牛油。

我把其中的文字存储成了一个文本,叫做minister.txt。

Code

python做词云呢,需要导入的包有wordcloud和PIL,其中PIL(Python Image Library)是python平台图像处理标准库,功能是真的强大。首先需要读取文件 。

首先我们要读取我们的txt文件,那么代码如下:

运行脚本结果如下:

接下来导包,我们看看如何生成最简单的词云:

如果python引入无误,并代码无误,那么会弹出你生成的图片,该图片会储存在你的系统。详细位置一般为: C:\Users\MACHENIKE\AppData\Local\Temp 中。

带形状的词云

一般来说,我们不想要这么方的词云,肯定喜欢一些有形状的,

接下来是生成那种有轮廓的词云,这里就需要继续导入其他包,这里导入的包为numpy,numpy系统是python的一种开源的数值计算扩展,这种工具可以用来存储和处理大型矩阵。这里在处理的时候将给出形状的图片表示为一个大型矩阵,再有颜色的地方来进行填词(导包 :import numpy as np)。导包之后需添加一个遮罩层,遮罩层就是用来限制生成图片的形状 。

网上随便找个图片放入到项目当中(这里我找的是一个:heartpulse:),然后开始code:

结果如下:

不支持中文的解决方案

我又从网上摘抄了一段文字,文字内容如下:

生活星期天早上和朋友一起聊天,朋友说了一个他们听过的故事:“一尊佛像前有一条铺着石板的路,人们每天都踏着这一阶一阶的石板去膜拜佛像。石阶看着人们踏着自己去膜拜佛像,心里很不舒服。石阶心里想,自己和佛本来就来自同一块石头,为什么自己要成为踏脚石,让人们踩着自去去膜拜它呢!它对佛抱怨说这样太不公平!佛像说:这没有什么不公平,你们成为台阶只需挨了四刀,而我是挨了千刀万剐才成了人们膜拜的佛像。

重新运行,发现雪崩了。

如果需要生成中文的词云,还需导入jieba分词的包。jieba分词的切分还是蛮准的。

C盘中有font字体,那么这些呢你可以自己去找,trans_CN方法是分词用的,通过font-path就可以指定里面的生成文本。这大概就是词云的基础了,可以将爬虫和词云生成结合在一起,在爬取信息之后生成这样的词云。

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。

一周热门

查看更多