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实现读取命令行参数的方法
May 22 Python
python实现支持目录FTP上传下载文件的方法
Jun 03 Python
python批量制作雷达图的实现方法
Jul 26 Python
Python中模块string.py详解
Mar 12 Python
python3.5 email实现发送邮件功能
May 22 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
自定义django admin model表单提交的例子
Aug 23 Python
python中常见错误及解决方法
Jun 21 Python
Python中logger日志模块详解
Aug 04 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 Python
Django给表单添加honeypot验证增加安全性
May 06 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
再次研究下cache_lite
2007/02/14 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
python解析xml文件操作实例
2014/10/05 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
Python 如何提高元组的可读性
2019/08/26 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
数控技术与应用毕业生自荐信
2013/09/24 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
假期安全教育广播稿
2014/10/04 职场文书
贪污检举信范文
2015/03/02 职场文书
股东大会通知
2015/04/24 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers