大白话Python绘图系列: Pandas篇
1. 目的
几行代码,快速了解pandas绘图, 帮助大家在Python处理数据时, 随时快速的洞察数据分布
- 学习环境: ipython notebook
2. Pandas绘图概述
Pandas的DataFrame和Series,在matplotlib基础上封装了一个简易的绘图函数, 使得我们在数据处理过程中方便可视化查看结果。
- 好处: 方便快捷的可视化的方式洞察数据, 覆盖常用图标类型
- 不足: 不如Matplotlib灵活,仅仅看下分布情况,基本是足满足日常使用
- 函数介绍: 详细参数说明见官网 pandas.DataFrame.plot
- Matplotlib绘图入门见上一篇文章: 数据民工来取经儿:大白话Python绘图系列: Matplotlib篇
3. Pandas快速绘图
3.1 练习数据
- 备注: 以下绘图均使用该数据
# 为方便演示, 我们随机生成3列正随机数
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
data = np.random.randn(5,3)
df = pd.DataFrame(np.abs(data),
index=[Mon, Tue, Wen, Thir, Fri],
columns=[A, B, C])
df
3.2 折线图
# 两行, 是不是简单到爆
# 关于plot更多参数查看: help(df.plot)
df.plot()
plt.show()
3.3 柱形图图
- 显示单列柱形图
df.A.plot(kind=bar, title=I am Mon)
plt.show()
- 多列柱形图
df.plot(kind=bar, title=From Mon To Fri)
plt.show()
3.4 堆积图
df.plot(kind=bar, stacked = True)
plt.show()
3.5 散点图
# x: 散点的x坐标位置
# y: 散点的y坐标位置
# s: 散点的大小
# c: 散点颜色
# 更多参数查看: help(df.plot.scatter)
df.plot(kind=scatter, x=A, y=B, s=df.C*500, c=r)
plt.show()
3.6 箱图
df.plot(y=df.columns, kind=box)
plt.show()
3.7 绘制子图
# subplots: 默认False, 如果希望每列绘制子图, 则赋值为True
# layout: 子图的布局, 即画布被横竖分为几块, 如:(2,3)表示2行3列
# figsize: 整个画布大小
# 尝试去掉下面注释, 看看sharey绘图后的区别
df.plot(subplots=True, layout=(2,3), figsize = (10,10), kind=bar)
# df.plot(subplots=True, layout=(2,3), figsize = (10,10), kind=bar, sharey=True)
plt.show()
4. About Me
来自北京回龙观的一名数据民工, 2019年开始写写数据民工那些大白话
- 微信公众号: workindata
- 个人微信号: ITlooker
- 知乎专栏: 大数据那些儿大白话
推荐阅读: