pandas数据处理之绘图的实现


Posted in Python onJune 15, 2020

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中的随机整数。

生成如下所示的数据:

pandas数据处理之绘图的实现

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()

pandas数据处理之绘图的实现

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

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()

pandas数据处理之绘图的实现

3.绘制直方图

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

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

pandas数据处理之绘图的实现

还能允许多图绘制:

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

pandas数据处理之绘图的实现

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

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

pandas数据处理之绘图的实现

4.线性拟合

Pandas还能用于拟合,让我们用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数据处理之绘图的实现的文章就介绍到这了,更多相关pandas 绘图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python创建文件和追加文件内容实例
Oct 21 Python
Python编程实现的简单Web服务器示例
Jun 22 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
python lambda表达式(匿名函数)写法解析
Sep 16 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
Python实现单例模式的5种方法
Jun 15 Python
keras中的loss、optimizer、metrics用法
Jun 15 #Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 #Python
基于python和flask实现http接口过程解析
Jun 15 #Python
基于nexus3配置Python仓库过程详解
Jun 15 #Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 #Python
在keras里面实现计算f1-score的代码
Jun 15 #Python
Python流程控制语句的深入讲解
Jun 15 #Python
You might like
用PHP来写记数器(详细介绍)
2006/10/09 PHP
php 移除数组重复元素的一点说明
2008/11/27 PHP
flash用php连接数据库的代码
2011/04/21 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
静态的动态续篇之来点XML
2006/12/23 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
Python测试人员需要掌握的知识
2018/02/08 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python pandas模块基础学习详解
2019/07/03 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
python如何查看网页代码
2020/06/07 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
给小学生的新年寄语
2014/04/04 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
项目合作协议书
2014/09/23 职场文书
2015元旦节寄语
2014/12/08 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python