e分钟带你利用Python制作词云图
随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
“词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)提出。“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。
数据分析与可视化通常分为三个步骤,分别是获取数据(爬虫或采用现有文本),数据处理(清洗和整理)和数据可视化(图表制作)。
前两个步骤涉及更复杂的算法,今天咱们仅讨论数据可视化的步骤。
下面给大家介绍几个制作词云图的小例子。
01英文数据文本可视化
英文数据文本可以直接拿来进行生成词云图,这里是在网上获取了一篇国外名人的英文演讲稿。经过两行代码即可实现从源数据到词云图的转变。源数据截图如下:
直接将英文数据文本放在jupyter notebook软件目录下,并将文件名添加到file_path参数中,不需要任何处理(在anaconda软件下的jupyter notebook中执行,软件安装过程可自行百度,非常简单),一键式生成词云图。
from stylecloud import gen_stylecloud
gen_stylecloud(file_path='obama.txt')
02 中文数据文本可视化
______
LOVE
前一段时间,周杰伦的新歌《mojito》上线后,迎来了广大粉丝的狂热喜爱。很多听过这首歌的人都不禁感叹“爷青回”“青回爷”,也就是我的青春又回来了的意思。确实,我们这一代80后中的很多人都是伴随着周杰伦的歌曲长大的,如《夜曲》、《稻香》、《双截棍》、《晴天》、《听妈妈的话》、《霍元甲》、《不能说的秘密》、《青花瓷》等,都是我们耳熟能详的。
下面,我们利用Python编程语言来制作周董粉丝在B站上发送弹幕的词云图,看看大家在听《mojito》时,说得最多的是什么。
首先,我们需要先进入B站视频网页爬取弹幕数据,得到弹幕数据后要进行中文分词处理和去除无意义词(包括标点符号等)处理。
经过这两步以后,就可以依葫芦画瓢制作词云图。获得的弹幕数据文本截图如下:
将弹幕数据文件放到jupyter notebook软件的目录下,并将文件数据添加到text参数当中。其中的icon_name参数就是设置词云图的背景图,我们这里选择了企鹅,飞机和笑脸三个背景图。
通过以下短短几行代码我们就可以制作出下面绚丽的词云图,让我们来感受下其强大的魅力吧!
import stylecloud
stylecloud.gen_stylecloud(text=' '.join(text), collocations=False,
font_path=r'C:\Windows\Fonts\msy h.ttc',
#icon_name='fab fa-qq',#企鹅
# icon_name='fas fa-plane',#飞机
icon_name='fas fa-smile',#笑脸
size=400,
output_name='词云图.png')
从上面的词云图中,我们可以发现,“爷青回”“青回爷”是粉丝们听完这首歌最大的感受了!歌曲MV中粉红色的画风让大家一下子回到了青春稚嫩的少年时代!还有粉丝大呼“好听”、“过瘾”、“喜欢”、“听一亿遍”等,还有人表示会一直单曲循环!
在代码中,我们还可以更改配色参数(palette='tableau.BlueRed_6'),让词云图变换不同的颜色,增加美感。
03背景图变换
Python的Stylecloud库强大之处,在于可以很方便的替换词云图的背景图,只要改变代码中的icon_name参数就可以。
下面又分别选择了恐龙、小狗、鸽子、小猫作为背景图,一切都很简单~
数据来源是豆瓣电影排名top250的评论,文本源数据截图如下:
制作出来的各种形状的词云图如下图所示:
由于篇幅有限,这里中文数据文本获取过程和数据处理过程就不作展示了,有兴趣的同学,可以看一下我的个人博客https://blog.csdn.net/littlespider889/article/details/107294775。
如果大家觉得通过软件生成词云图比较麻烦,那么还有更简单的办法,直接通过专门制作词云图的网站,可以上传数据,一键式生成词云图。网址例如,
http://www.picdata.cn/picdata/,
http://ictclas.nlpir.org/nlpir/,
http://www.yyyweb.com/demo/inner-show/word-itout.html。
使用方式非常简单,直接将你的文本内容粘贴到文本框区域内,再点击按钮生成。有兴趣的同学,可以上网搜索更多的教程资料!
e分钟带你利用Python制作词云图的更多相关文章
- 词云wordcloud类介绍&python制作词云图&词云图乱码问题等小坑
词云图,大家一定见过,大数据时代大家经常见,我们今天就来用python的第三方库wordcloud,来制作一个大数据词云图,同时会降到这个过程中遇到的各种坑, 举个例子,下面是我从自己的微信上抓的微信 ...
- 如何用Python 制作词云-对1000首古诗做词云分析
公号:码农充电站pro 主页:https://codeshellme.github.io 今天来介绍一下如何使用 Python 制作词云. 词云又叫文字云,它可以统计文本中频率较高的词,并将这些词可视 ...
- C#中使用jieba.NET、WordCloudSharp制作词云图
目录 词云简介 准备工作 基本算法 算法实现 运行测试 参考资料 词云简介 "词云"由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)于2006年最先使 ...
- Python之利用jieba库做词频统计且制作词云图
一.环境以及注意事项 1.windows10家庭版 python 3.7.1 2.需要使用到的库 wordcloud(词云),jieba(中文分词库),安装过程不展示 3.注意事项:由于wordclo ...
- python制作词云
需要模块wordcloud,pip install wordcloud安装即可.代码: , #边距background_color='black',#指定背景颜色font_path='simhei.t ...
- python爬取B站视频弹幕分析并制作词云
1.分析网页 视频地址: www.bilibili.com/video/BV19E… 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀. 这次我选取的是自己 唯一的爆款 ...
- 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例
前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣 ...
- 利用Python网络爬虫采集天气网的实时信息—BeautifulSoup选择器
相信小伙伴们都知道今冬以来范围最广.持续时间最长.影响最重的一场低温雨雪冰冻天气过程正在进行中.预计,今天安徽.江苏.浙江.湖北.湖南等地有暴雪,局地大暴雪,新增积雪深度4-8厘米,局地可达10-20 ...
- python 做词云图
#导入需要模块 import jieba import numpy as np import matplotlib.pyplot as plt from PIL import Image from w ...
随机推荐
- 开源API文档工具- swagger2 与 smart-doc 比较 与 使用
工具开源地址 swagger2 : https://swagger.io/ smart-doc: https://www.oschina.net/p/smart-doc 国产 两者的比较 swagg ...
- CSRF攻击原理以及防御方法(写的很好)
转载地址:http://www.phpddt.com/reprint/csrf.html CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟 ...
- Python之网络编程 Socket编程
本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实 ...
- Nginx日志按天切割基本配置说明
1.声明日志格式 声明log log位置 log格式; access_log logs/access.log main; 2.定义日志格式(以下为常用的日志格式 可 ...
- webStrom中配置nodejs
1.安装nodejs 下载地址:node.js:https://nodejs.org/download/ 按照提示安装即可 2.安装WebStrom 按照提示安装即可 下载地址:webstorm:ht ...
- [Qt2D绘图]-05绘图设备-QPixmap&&QBitmap&&QImage&&QPicture
这篇笔记记录的是QPainterDevice(绘图设备,可以理解为一个画板) 大纲: 绘图设备相关的类:QPixmap QBitmap QImage QPicture QPixmap ...
- Ethical Hacking - GAINING ACCESS(13)
CLIENT SIDE ATTACKS Backdoor delivery method2 - backdooring exe downloads Backdoor any exe the targe ...
- JAVA面向对象:三大特征 封装讲解
一.JAVA封装 1.封装的理解 封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术 2.封装的原则 将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息 ...
- echarts 实战 : 想让图例颜色和元素颜色对应,怎么办?
首先,在 series 里设置颜色. (我是用js生成 echarts 需要的option对象,所以可能很难看懂) normalData.sData.forEach((item, index) =&g ...
- TestNg失败重跑—解决使用 dataProvider 参数化用例次数冲突问题
问题背景 在使用 testng 执行 UI 自动化用例时,由于 UI自动化的不稳定性,我们在测试的时候,往往会加上失败重跑机制.在不使用 @DataProvider 提供用例参数化时,是不会有什么问题 ...