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

本文介绍了如何使用Python中的Pandas进行数据可视化,涵盖了折线图、散布图、直方图、箱形图和圆饼图等基本图表类型。通过2013年美国社区调查和波士顿房屋数据集实例,展示了数据探索和分析的过程。同时提供了Python学习资源链接,包括学习路线、视频教程、实战案例和面试资料。
摘要由CSDN通过智能技术生成

利用可视化探索图表

一、数据可视化与探索图

数据可视化是指用图形或表格的方式来呈现数据。图表能够清楚地呈现数据性质, 以及数据间或属性间的关系,可以轻易地让人看图释义。用户通过探索图(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 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值