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
  • 知乎专栏: 大数据那些儿大白话

推荐阅读:

相关文章