本文选自清华大学出版社的新书《深入浅出Python数据分析》章节,推荐一下。

利用可视化探索图表

一、数据可视化与探索图

数据可视化是指用图形或表格的方式来呈现数据。图表能够清楚地呈现数据性质, 以及数据间或属性间的关系,可以轻易地让人看图释义。用户通过探索图(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数据分析》一书,略有修改,经出版社授权刊登于此。

本书试图从务实的角度开始,结合理论与实践去探索数据科学的真实世界,帮助读者一步一步地培养数据时代下的思维与技术。本书将从基础的 Python 编程开始,以数据分析的流程为主轴一步一步地解析,然后展开介绍数据收集、数据前处理、特征工程、探索式分析等。本书系统性地从函数库开始学习,并拓展到不同的应用场景。

这几个Python数据可视化探索实例,拿走不谢!相关推荐

  1. python3数据可视化软件_21款酷炫的数据可视化工具,拿走不谢!

    辛辛苦苦分析一堆大数据,竟然没人看!如果你正着手于从数据中洞察出有用信息,那你所需要的正是--数据可视化.俗话说,有图有真相,一图胜千言,取悦了眼球,剩下的都好说. 本文挖掘了21款炙手可热的数据可视 ...

  2. Python数据可视化 | 6、基于Sesborn探索变量间的关系

    目录 绘制线性回归模型 拟合不同模型 残差图 变量间的条件关系探索 控制图片的大小和形状 小结 数据变量之间的关联性,主要针对定量数据而言: 数据的分布问题也是主要针对定量数据: 分组问题及组间问题里 ...

  3. Python 数据可视化—下载数据(CSV文件格式、JSON格式)

    Python 数据可视化-下载数据CSV文件格式.JSON格式 网上下载数据,并对这些数据进行可视化,可视化以两种常见格式存储的数据:CSV 和JSON. 我们将使用Python模块csv 来处理以C ...

  4. ​Python数据可视化工具怎么选?深度评测5款实用工具

    来源:早起Python 本文约3100字,建议阅读9分钟 本文通过真实绘图,为你深度测评Python五大数据可视化库. [ 导读 ]相信很多读者学习Python就是希望做出各种酷炫的可视化图表,当然你 ...

  5. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化--使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 转载请注明网址:https://www.cnblogs.com/pengsky2016/p/812 ...

  6. python在线工具-6 种 Python 数据可视化工具

    原标题:6 种 Python 数据可视化工具 英文:Chris Moffitt,编译:伯乐在线/李加庆 简介 在 Python 中,将数据可视化有多种选择,正是因为这种多样性,何时选用何种方案才变得极 ...

  7. python可视化图表工具_酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具...

    原标题:酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具 不少Python用户的一大诉求是做出各种酷炫的可视化图表,而这就需要了解清楚工具特色,才好在制作不同类型图表顺利找到适合自己 ...

  8. python数据可视化的特点_6 种 Python 数据可视化工具

    原标题:6 种 Python 数据可视化工具 英文:Chris Moffitt,编译:伯乐在线/李加庆 简介 在 Python 中,将数据可视化有多种选择,正是因为这种多样性,何时选用何种方案才变得极 ...

  9. Python数据可视化的10种技能

    内容来自:极客时间专栏<数据分析实战45讲> 如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解.其中最直观的就是采用数据可视化技 ...

最新文章

  1. 在Ubuntu 14.04 64bit上安装OpenResty 1.9.7.4
  2. 一个切割PDF文件的简单的方法 -只需要chrome浏览器
  3. TCP/IP,Http,Socket的区别
  4. 算法 求子数组的最大和 C
  5. 软考考前冲刺第九,十章多媒体基础知识知识产权基础知识
  6. java list 取几个字段组装成map_24道Java各类常见问题整理
  7. BugkuCTF-WEB题好像需要密码
  8. 骨牌铺方格(HDU-2046)
  9. Oracle/MySQL/PostgreSQL考题等你挑战(附假期活动获奖名单)
  10. 微信iOS 7.0.9版本更新:今天的朋友圈是一片欢乐的海洋!
  11. BZOJ 1041 圆上的整点 数学
  12. AcWing 867. 分解质因数(唯一分解定理)
  13. vcenter接管_人工智能接管广告创意
  14. 硬盘划分主分区、扩展分区、逻辑分区、活动分区有什么不同?
  15. 扇贝编程python学习笔记-基础篇3
  16. 涉及数字的英语表示——几点钟、年月日、世纪、年代、年龄
  17. Chrome 谷歌浏览器 闪黑屏 问题
  18. 看《赘婿》我不仅收获了快乐,还收获了独特的目标管理方法(OKRs-E)
  19. 一台计算机怎么弄2个登录桌面,一台主机两个显示器 教您电脑两个显示器怎么设置 - 云骑士一键重装系统...
  20. 生日祝福代码python_Python|送给朋友的生日祝福

热门文章

  1. java 粒度_java中粗粒度和细粒度的概念
  2. Windows注册表修改技巧
  3. psid mysql_DB2常用SQL的写法(持续更新中...)
  4. 作为软件开发人员,3种简单的方法来推销自己
  5. 什么是DCS系统?DCS和SCADA的区别
  6. 项立刚:大陆为什么没有台积电
  7. python中import简介
  8. JDBC Statement RETURN_GENERATED_KEYS返回自动生成的ID
  9. c# 自定义多个SplitContainer 支持点击放大缩小
  10. ARFoundation入门到精通 - 1.8 远程调试