本文将介绍如何利用python中相应的模块画出词云图。首先给出效果图:

其中词云图中的词汇是对手机短信中的垃圾短信的统计,字体越大表示在垃圾短信中出现的频次越高。下面给出具体的步骤。

读取“垃圾短信”的csv数据

首先给出代码:

其中pandas是一个python常用的数据可视化模块。pd.read_csv函数是用来读取csv文件,data.columns是修改文件中的列的名称。

显示的结果为:

查看数据

我们对读取的80000条短信中,正常短信与垃圾短信进行统计,给出代码:

画出的效果图为:

可以看出数据库中有1/10的垃圾短信。代码中,plt.figure函数控制画图的大小,rcParams函数用来修改字体(要不然不支持中文,毕竟这不是国人开发的)。

数据清洗

首先我们选出1000条正常数据和垃圾数据(因为数据比较多,为了简化运行,我们选出2000条短信),代码为:

其中,sample函数是随机的挑选样本。运行结果:

然后我们对数据进行清洗,为什么要进行数据处理?因为我们后期用jieba库分词,而中文分词必须要求一个单词的两个汉字连在一起,不能有空格,不能有特殊符号。所以我们将数据的非汉字字符剔除掉,代码为:

其中引入两个新的库,一个是re正则表达式的库(本文不介绍正则表达式),还有一个是结巴分词库。apply函数就是对元素中每一个元素都进行后续处理,传入的是要处理的函数。

本文传入的是匿名函数。re.sub是正则表达式中的函数,用于替换语句中的词,其中参数pattern表示的是正则表达式,repl是替换成什么字符,string是输入的参数。

输出为:

画图云

最后一步就是画出图云。首先给出代码:

其中我们需要导入一个很重要的库,就是wordcloud,利用该模块,我们可以实现图云的绘画。

其中WordCloud是一个函数,用于生成词云,其中参数font_path是词云中字体的路径(在windows操作系统中字体路径一般为"C:\Windows\Fonts\***.ttf"),mask是传入绘画的图像,比如本文绘画的图像为:

background_color是设置背景颜色,fit_words函数用于传入词云的数据。绘画结果为:

疑点分析

plt.imshow(wc)使用plt模块画图,我们给出imshow函数的api文档:

传入的应该是array-like或者PIL image格式,但是我们传入的是wc(wordcloud类型的数据,而wordcloud类型是属于Wordcloud模块),为什么可以实现画图效果呢?

只有一种解释,Wordcloud模块中的wordcloud类型数据是属于PIL image类型的数据(笔者自己这么认为的,没有看底层,欢迎指出错误)

总结

本文利用python画出垃圾短信的词云图。希望对你的学习有所帮助。

python画二维温度云图_利用python画出词云图相关推荐

  1. python画二维折线图_利用python画折线图

    # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * #支持中文 mpl.rcParams['font.sans-s ...

  2. python画二维数组散点图_基于python二维数组及画图的实例详解

    基于python二维数组及画图的实例详解 下面小编就为大家分享一篇基于python 二维数组及画图的实例详解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 1.二维数组取值 注:不管 ...

  3. python生成二维码教程_使用Python生成个性二维码

    任务目的 这一步会介绍通过Python中的MyQR包实现生成二维码的操作,包括生成普通二维码.带有静态图和动态图的二维码,同时也会对MyQR生成二维码的常用参数进行介绍说明. 任务步骤注:CVM适合用 ...

  4. python画二维温度云图_一种画二维温度场彩色云图的新方法

    一种画二维温度场彩色云图的新方法 刘永军 ; 李宏男 [摘 要] 介绍一种画二维温度场彩色云图的新方法 , 其特点是算法简单 , 结果精确 , 易于编程 . [期刊名称] <图学学报> [ ...

  5. python 二维数组心得_基于python 二维数组及画图的实例详解

    python中如何使用二维数组 在Python中,一个像这样的多维表格可以通过"序列的序列"实现.一个表格是行的序列.每一行又是独立单元格的序列.这类似于小编们使用的数学记号,在数 ...

  6. python画二维温度云图_“绘图,让化学生动起来”:Python-matplotlib绘图(全二维气相色谱图分析专题)...

    作者简介:85后一名分析化学工作者及科学爱好者,深爱着北京的老北京人,爱好运动,科学,旅行,本文作者的个人微信公众号<科学是什么东东>,欢迎关注! 作者的本职工作为分析化学,因此,在这一专 ...

  7. python画二维温度云图_python定制后处理云图

    用后处理软件处理的云图会出现这样或那样的不满意,其实我们可以将求解数据导出以后,借助python定制云图. 我们以fluent为例 求解完成之后,我们将我们需要做云图的物理量以ASCII导出 如下的p ...

  8. 用python可以画的可爱的图形_利用Python绘制诱人的桑基图

    作者:小z 来源:数据不吹牛 大家好,我是小z~ 最近,不止一次收到群里小伙伴的截图追问: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 小z本没有 ...

  9. python 二维强度图_荐 python数据分析matplotlib库使用之二维图形绘制

    本篇内容会在后期不定时更新 什么是matplotlib matplotlib是最流行的python底层绘图库,主要做数据可视化图表. 为什么要学习matplotlib 能将数据进行可视化,更直观的呈现 ...

最新文章

  1. 从信息瓶颈理论一瞥机器学习的“大一统理论”
  2. C++阶段01笔记03【运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符)】
  3. 第一个linux桌面,Ubuntu 4.10 “Warty Warthog”:回顾第一个Ubuntu Linux桌面
  4. 使用Jenkins,GitHub和Docker的最先进的持续集成和部署管道
  5. go语言 expected ; found a
  6. The content of elements must consist of well-formed character data or markup
  7. BZOJ1095: [ZJOI2007]Hide 捉迷藏(动态点分治)
  8. [总结]SqlServer中如何实现自动备份数据!
  9. 力扣628. 三个数的最大乘积
  10. linux 如何选择新的内核,如何更新内核??__boot_内核_vmlinuz_linux_System__169IT.COM
  11. 【安装库】matlab2020b安装及百度网盘提速
  12. 非参数统计单样本非参数检验之符号检验
  13. 研究生英语单词学习——Learning English
  14. 信息系统项目管理师---综合类计算
  15. bios设置raid启动模式Linux,RAID BIOS检测硬盘以及设置RAID模式
  16. Symbol数据类型
  17. Branches ‘develop‘ and ‘origin/develop‘ have diverged. Fatal: And branch ‘develop‘ may be fast-forwa
  18. 怎么换头像啊。。。。。
  19. RAD Studio破解补丁合集(2018.12.25)
  20. 所有操作系统下载地址Windows Redhat CentOS

热门文章

  1. FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
  2. Git(1)-- Win10 安装 Git 详细教程(超详细纯小白教程)
  3. Gstreamer之重置PTS与DTS流程(二十)
  4. Ubuntu安装Beyond Compare(crack)
  5. 一次新生代民工工友切磋经历
  6. webgl之绘制一个矩形
  7. git之windows下创建.gitignore文件
  8. 研究生开学需要准备的事宜(准研究生和保研必看)
  9. cesium +vue项目怎么运行
  10. python中execute函数_在excel中调用python函数