Python数据可视化探索实例分享

 更新时间:2022年05月22日 09:48:57   作者:Python编程学习圈  
这篇文章主要介绍了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))

数据探索实战分享:

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

三、社区调查

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

数据名称: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 个特征维度。

数据名称: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如何使用队列方式实现多线程爬虫,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • windows7 32、64位下python爬虫框架scrapy环境的搭建方法

    windows7 32、64位下python爬虫框架scrapy环境的搭建方法

    这篇文章主要介绍了windows7 32、64位下python爬虫框架scrapy环境的搭建方法,需要的朋友可以参考下
    2018-11-11
  • 利用Python绘制创意中秋节月饼

    利用Python绘制创意中秋节月饼

    又是一年中秋至——花好月圆夜。turtle库作为Python重要的标准库之一,是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。本文将使用turtle(海龟)来绘制中秋创意月饼,感兴趣的可以了解一下
    2022-09-09
  • python 如何去除字符串中指定字符

    python 如何去除字符串中指定字符

    python中的strip()可以去除头尾指定字符,只能删除头尾指定字符,想要去除中间字符,可以使用replace()函数,本文结合示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-12-12
  • Python 中使用 PyMySQL模块操作数据库的方法

    Python 中使用 PyMySQL模块操作数据库的方法

    这篇文章主要介绍了Python 中使用 PyMySQL模块操作数据库的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • python中返回矩阵的行列方法

    python中返回矩阵的行列方法

    下面小编就为大家分享一篇python中返回矩阵的行列方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Pandas缺失值删除df.dropna()的使用

    Pandas缺失值删除df.dropna()的使用

    本文主要介绍了Pandas缺失值删除df.dropna()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python通用读取vcf文件的类(复制粘贴即可用)

    python通用读取vcf文件的类(复制粘贴即可用)

    这篇文章主要介绍了python通用读取vcf文件的类(可以直接复制粘贴使用) ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • OpenCV模板匹配matchTemplate的实现

    OpenCV模板匹配matchTemplate的实现

    这篇文章主要介绍了OpenCV模板匹配matchTemplate的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python实现用户登陆邮件通知的方法

    python实现用户登陆邮件通知的方法

    这篇文章主要介绍了python实现用户登陆邮件通知的方法,实例分析了Python计划任务与邮件发送的使用技巧,需要的朋友可以参考下
    2015-07-07

最新评论