点击上方“关于数据分析与可视化”,选择“星标”公众号

超级无敌干货,第一时间送达!!!

大家好,我是俊欣。(文末送书)

利用可视化探索图表

一、数据可视化与探索图

数据可视化是指用图形或表格的方式来呈现数据。图表能够清楚地呈现数据性质, 以及数据间或属性间的关系,可以轻易地让人看图释义。用户通过探索图(Exploratory Graph)可以了解数据的特性、寻找数据的趋势、降低数据的理解门槛。

二、常见的图表实例

本章主要采用 Pandas 的方式来画图,而不是使用 Matplotlib 模块。其实 Pandas 已经把 Matplotlib 的画图方法整合到 DataFrame 中,因此在实际应用中,用户不需要直接引用 Matplotlib 也可以完成画图的工作。

1.折线图

折线图(line chart)是最基本的图表,可以用来呈现不同栏位连续数据之间的关系。绘制折线图使用的是 plot.line() 的方法,可以设置颜色、形状等参数。在使用上,拆线图绘制方法完全继承了 Matplotlib 的用法,所以程序最后也必须调用 plt.show() 产生图,如图8.4 所示。

df_iris[['sepal length (cm)']].plot.line()
plt.show()
ax = df[['sepal length (cm)']].plot.line(color='green',title="Demo",style='--')
ax.set(xlabel="index", ylabel="length")
plt.show()

2.散布图

散布图(Scatter Chart)用于检视不同栏位离散数据之间的关系。绘制散布图使用的是 df.plot.scatter(),如图8.5所示。

df = df_iris
df.plot.scatter(x='sepal length (cm)', y='sepal width (cm)')from matplotlib import cm
cmap = cm.get_cmap('Spectral')
df.plot.scatter(x='sepal length (cm)',y='sepal width (cm)', s=df[['petal length (cm)']]*20, c=df['target'],cmap=cmap,title='different circle size by petal length (cm)')

3.直方图、长条图

直方图(Histogram Chart)通常用于同一栏位,呈现连续数据的分布状况,与直方图类似的另一种图是长条图(Bar Chart),用于检视同一栏位,如图 8.6 所示。

df[['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)','petal width (cm)']].plot.hist()
2 df.target.value_counts().plot.bar()

4. 圆饼图、箱形图

圆饼图(Pie Chart)可以用于检视同一栏位各类别所占的比例,而箱形图(Box Chart)则用于检视同一栏位或比较不同栏位数据的分布差异,如图 8.7 所示。

df.target.value_counts().plot.pie(legend=True)
df.boxplot(column=['target'],figsize=(10,5))

数据探索实战分享

本节利用两个真实的数据集实际展示数据探索的几种手法。

一、2013年美国社区调查

在美国社区调查(American Community Survey)中,每年约有 350 万个家庭被问到关于他们是谁及他们如何生活的详细问题。调查的内容涵盖了许多主题,包括祖先、教育、工作、交通、互联网使用和居住。

数据来源:https://www.kaggle.com/census/2013-american-community-survey。

数据名称:2013 American Community Survey。

先观察数据的样子与特性,以及每个栏位代表的意义、种类和范围。

# 读取数据
df = pd.read_csv("./ss13husa.csv")
# 栏位种类数量
df.shape
# (756065,231)# 栏位数值范围
df.describe()

先将两个 ss13pusa.csv 串连起来,这份数据总共包含 30 万笔数据,3 个栏位:SCHL ( 学历,School Level)、 PINCP ( 收入,Income) 和 ESR ( 工作状态,Work Status)。

pusa = pd.read_csv("ss13pusa.csv") pusb = pd.read_csv("ss13pusb.csv")
# 串接两份数据
col = ['SCHL','PINCP','ESR']
df['ac_survey'] = pd.concat([pusa[col],pusb[col],axis=0)

依据学历对数据进行分群,观察不同学历的数量比例,接着计算他们的平均收入。

group = df['ac_survey'].groupby(by=['SCHL']) print('学历分布:' + group.size())
group = ac_survey.groupby(by=['SCHL']) print('平均收入:' +group.mean())

二、波士顿房屋数据集

波士顿房屋数据集(Boston House Price Dataset)包含有关波士顿地区的房屋信息, 包 506 个数据样本和 13 个特征维度。

数据来源:https://archive.ics.uci.edu/ml/machine-learning-databases/housing/。

数据名称:Boston House Price Dataset。

先观察数据的样子与特性,以及每个栏位代表的意义、种类和范围。

可以用直方图的方式画出房价(MEDV)的分布,如图 8.8 所示。

df = pd.read_csv("./housing.data")
# 栏位种类数量
df.shape
# (506, 14)#栏位数值范围df.describe()
import matplotlib.pyplot as plt
df[['MEDV']].plot.hist()
plt.show()

注:图中英文对应笔者在代码中或数据中指定的名字,实践中读者可将它们替换成自己需要的文字。

接下来需要知道的是哪些维度与“房价”关系明显。先用散布图的方式来观察,如图8.9所示。

# draw scatter chart
df.plot.scatter(x='MEDV', y='RM') .
plt.show()

最后,计算相关系数并用聚类热图(Heatmap)来进行视觉呈现,如图 8.10 所示。

# compute pearson correlation
corr = df.corr()
# draw  heatmap
import seaborn as sns
corr = df.corr()
sns.heatmap(corr)
plt.show()

颜色为红色,表示正向关系;颜色为蓝色,表示负向关系;颜色为白色,表示没有关系。RM 与房价关联度偏向红色,为正向关系;LSTAT、PTRATIO 与房价关联度偏向深蓝, 为负向关系;CRIM、RAD、AGE 与房价关联度偏向白色,为没有关系。

声明:本文选自清华大学出版社的《深入浅出python数据分析》一书,略有修改,经出版社授权刊登于此。

赠书福利

书籍:赠送 3 本《深入浅出Python数据分析》,更多介绍和目录可以点击下面链接了解。

我们每个月都会给大家送书,常来留言混脸熟的都会有机会!这次送出的是"Python相关的"书籍,非常值得一读。

赠书规则

赠送规则:通过留言点赞的方式送出,转发本文至朋友圈+文末留言,留言点赞数量最多前3位读者将各获得1本

开奖时间:5月29日20:00(周日)

注意事项:最终获赠者请在24小时以内添加小编微信

太实用了!这几个Python数据可视化案例!(文末送书)相关推荐

  1. 怎么做好数据可视化(文末送书)

    点击上方"数据指南",选择"星标"公众号 超级无敌干货,第一时间送达!!! 利用可视化探索图表 一.数据可视化与探索图 数据可视化是指用图形或表格的方式来呈现数 ...

  2. Python语法必备篇——Python字符串 学习【文末送书】

  3. 文末送书 | 当Python遇上高考,会发生什么?

    (文末送书哦!) 延期一个月之后,1071万考生终于熬出头了. 这届高考太难了,不仅考学生,更是考验疫情的防控能力. 但是说到难,2018年浙江省教育厅的一个决定,让不少人感叹真难! 原来早在2017 ...

  4. 文末送书|用Pandas分析了75w多条数据,揭秘美国选民的总统喜好!

    点击"一行数据",选择"置顶公众号" 文末送书,不可错过! 来源:天池大数据科研平台 原文:https://tianchi.aliyun.com/noteboo ...

  5. Python自动化操作Word15000字超强总结,帮你解放双手!(文末送书 )

    作者:超级大洋葱806 https://tangxing.blog.csdn.net/article/details/108418066 大家好,我是小z 老有同学问关于自动化办公的内容,今天就给大家 ...

  6. Python数据可视化案例三:使用Slider组件调整曲线参数

    首先更正一个地方,昨天的文章Pythonic:递归.回溯等5种方法生成不重复数字整数中最后一段代码的注释中不小心把"排列"写成了"组合",抱歉抱歉! 今天的内容 ...

  7. Python数据可视化案例二:动态更新数据

    在开发与数据监测和数据可视化有关的系统时,我们会需要根据最新的数据对图形进行更新.下面的代码模拟了这种情况,单击Start按钮时会更新数据并重新绘制图形使得曲线看上去在移动一样,单击Stop按钮则停止 ...

  8. python数据可视化案例销售数据_3-5 用python进行数据可视化 朝阳医院销售案例

    本篇是3-2-2数据分析文章的扩展版.spoonhead:3-3-2 Python数据分析实战第一步​zhuanlan.zhihu.com 本文在原文章的基础上提出了问题4-问题8的5个新问题,并用m ...

  9. python数据可视化案例 淘宝粽子_Python分析淘宝月饼销售数据,哪种最受欢迎?排第一的你想不到...

    距离国庆中秋8天的假期没几天了,朋友圈各家大厂都开始秀自家定制的中秋月饼礼盒,假期要走亲访友的手里也少不了要提一盒月饼. 每年中秋节到,总会去姥姥那里送中秋,并买上各种各样的月饼,那个时候科技并不怎么 ...

  10. Python中处理字符串的常用函数汇总【文末送书】

    正式的Python专栏第23篇,同学站住,别错过这个从0开始的文章! 今天我们说了字符串的基础,格式化,这次我们讲解字符串的常用函数,不要错过! (文本送书,评论区抽取一位送书) 前两篇都在本文同个专 ...

最新文章

  1. 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 五 NSDicionary + NSMutableDictionary...
  2. 自然语言处理库——TextBlob
  3. 《JavaScript 高级程序设计》 7.1 正则表达式支持
  4. activemq linux教程,Linux及Windows下ActiveMQ下载与安装教程
  5. 解决Ubuntu make 命令 sudo: make: command not found
  6. mysql必知必会样例表_《SQL必知必会》笔记1-样例表说明及建表语句
  7. nRF Sniffer抓包环境搭建
  8. 关于使用HTML或JS实现页面重定向的方法
  9. grub引导删除双系统中的linux的正确姿势
  10. sunshine in the rainsunshine in the rain
  11. 亚马逊账号关联因素有哪些?如何防关联?
  12. Android app反编译
  13. 什么是Linux系统架构?
  14. 安卓10开机时间优化分析
  15. BZOJ 1123: [POI2008]BLO
  16. pyinstaller打包exe加入版本和版权信息
  17. Javaweb安全——Weblogic反序列化漏洞(一)
  18. windows 下端口转发 端口映射工具 passport
  19. Shader学习3——半兰伯特
  20. 如何在Windows系统中设置Python程序定时运行

热门文章

  1. 智慧旅游信步而来 互联网安防助力景区智能化
  2. 如何用latex高效写毕业论文(超简明+实用经验分享)
  3. 除了搜岛国老师的作品,以图搜图还有什么骚操作?
  4. selenium-模拟登录QQ空间(附模拟滑动验证码)
  5. 机器学习处理信号分离_【火炉炼AI】机器学习054-用ICA做盲源分离
  6. linux查看trunk信息,linux网卡启用trunk模式操作标准.docx
  7. hp 计算机如何显示在桌面上,HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载...
  8. 海量数据的常见处理算法
  9. aspnetpager使用介绍
  10. 服务器修复工具,Microsoft .NET Framework 修复工具可用