pandas数据处理之绘图的实现

 更新时间:2020年06月15日 09:44:37   作者:Python实用宝典  
这篇文章主要介绍了pandas数据处理之绘图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Pandas是Python中非常常用的数据处理工具,使用起来非常方便。它建立在NumPy数组结构之上,所以它的很多操作通过NumPy或者Pandas自带的扩展模块编写,这些模块用Cython编写并编译到C,并且在C上执行,因此也保证了处理速度。

今天我们就来体验一下它的强大之处。

1.创建数据

使用pandas可以很方便地进行数据创建,现在让我们创建一个5列1000行的pandas DataFrame:

mu1, sigma1 = 0, 0.1
mu2, sigma2 = 0.2, 0.2
n = 1000df = pd.DataFrame(
  {
    "a1": pd.np.random.normal(mu1, sigma1, n),
    "a2": pd.np.random.normal(mu2, sigma2, n),
    "a3": pd.np.random.randint(0, 5, n),
    "y1": pd.np.logspace(0, 1, num=n),
    "y2": pd.np.random.randint(0, 2, n),
  }
)
  • a1和a2:从正态(高斯)分布中抽取的随机样本。
  • a3:0到4中的随机整数。
  • y1:从0到1的对数刻度均匀分布。
  • y2:0到1中的随机整数。

生成如下所示的数据:

2.绘制图像

Pandas 绘图函数返回一个matplotlib的坐标轴(Axes),所以我们可以在上面自定义绘制我们所需要的内容。比如说画一条垂线和平行线。这将非常有利于我们:

1.绘制平均线

2.标记重点的点

import matplotlib.pyplot as plt
ax = df.y1.plot()
ax.axhline(6, color="red", linestyle="--")
ax.axvline(775, color="red", linestyle="--")
plt.show()

我们还可以自定义一张图上显示多少个表:

fig, ax = plt.subplots(2, 2, figsize=(14,7))
df.plot(x="index", y="y1", ax=ax[0, 0])
df.plot.scatter(x="index", y="y2", ax=ax[0, 1])
df.plot.scatter(x="index", y="a3", ax=ax[1, 0])
df.plot(x="index", y="a1", ax=ax[1, 1])
plt.show()

3.绘制直方图

Pandas能够让我们用非常简单的方式获得两个图形的形状对比:

df[["a1", "a2"]].plot(bins=30, kind="hist")
plt.show()

还能允许多图绘制:

df[["a1", "a2"]].plot(bins=30, kind="hist", subplots=True)
plt.show()

当然,生成折线图也不在画下:

df[['a1', 'a2']].plot(by=df.y2, subplots=True)
plt.show()

4.线性拟合

Pandas还能用于拟合,让我们用pandas找出一条与下图最接近的直线:

最小二乘法计算和该直线最短距离:

df['ones'] = pd.np.ones(len(df))
m, c = pd.np.linalg.lstsq(df[['index', 'ones']], df['y1'], rcond=None)[0]

根据最小二乘的结果绘制y和拟合出来的直线:

df['y'] = df['index'].apply(lambda x: x * m + c)
df[['y', 'y1']].plot()
plt.show()

到此这篇关于pandas数据处理之绘图的实现的文章就介绍到这了,更多相关pandas 绘图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中json常见四种用法举例

    Python中json常见四种用法举例

    这篇文章主要给大家介绍了关于Python中json常见四种用法举例的相关资料,众所周知JSON是一种轻量级的数据交换格式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 如何利用Pandas查询选取数据

    如何利用Pandas查询选取数据

    在数据分析的过程中通常要对数据进行清洗与处理,而其中比较重要和常见的操作就有对数据进行筛选与查询,下面这篇文章主要给大家介绍了关于如何利用Pandas查询选取数据的相关资料,需要的朋友可以参考下
    2022-07-07
  • 详解Python装饰器之@property

    详解Python装饰器之@property

    今天带大家学习python装饰器的相关知识,文中对Python @property做了非常详细的介绍,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Django中自定义模型管理器(Manager)及方法

    Django中自定义模型管理器(Manager)及方法

    这篇文章主要介绍了Django中自定义模型管理器(Manager)及方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 如何将conda虚拟环境添加到Jupyter lab内核

    如何将conda虚拟环境添加到Jupyter lab内核

    这篇文章主要介绍了如何将conda虚拟环境添加到Jupyter lab内核问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python Pandas实现数据分组求平均值并填充nan的示例

    Python Pandas实现数据分组求平均值并填充nan的示例

    今天小编就为大家分享一篇Python Pandas实现数据分组求平均值并填充nan的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python3 能振兴 Python的原因分析

    Python3 能振兴 Python的原因分析

    我从Stephen A. Goss那读到关于了《Python 3正在毁灭Python》。这篇文章有不少精彩的论点,但我却并不认为Python 3是在毁灭Python,也不认为整个局面对Python一点也不利
    2014-11-11
  • Python如何对齐字符串

    Python如何对齐字符串

    这篇文章主要介绍了Python如何对齐字符串,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Pytest 使用简介

    Pytest 使用简介

    这篇文章主要介绍了Pytest 使用简介,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python线性点运算数字图像处理示例详解

    Python线性点运算数字图像处理示例详解

    这篇文章主要为大家介绍了数字图像处理基本运算如何用Python详细点运算来处理数字图像有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09

最新评论