1. 目的
几行代码,快速了解pandas绘图, 帮助大家在Python处理数据时, 随时快速的洞察数据分布学习环境: ipython notebook
2. Pandas绘图概述
Pandas的DataFrame和Series,在matplotlib基础上封装了一个简易的绘图函数, 使得我们在数据处理过程中方便可视化查看结果。好处: 方便快捷的可视化的方式洞察数据, 覆盖常用图标类型
不足: 不如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