pandas可视化(2)【官方文档解读】-- 条形图、直方图
作者:王大伟
Python爱好者社区唯一小编
博客:https://ask.hellobi.com/blog/wangdawei
点击上图即可限时半价购买课程
前文传送门:pandas可视化(1)【官方文档解读】--基础绘图
如绘图过程中,中文字体和负号显示有问题,可以参照如下链接修改配置参数设置正常显示:
https://www.joinquant.com/post/441
IDE : jupyter notebook
Anaconda 3.X
对于标记的非时间序列数据,你可能希望生成条形图:
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
matplotlib.style.use('ggplot')#使用ggplot样式
%matplotlib inline
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD'))
df = df.cumsum()
注:如前一章,先导入必要的模块和绘图的数据准备
plt.figure();
df.iloc[5].plot(kind='bar')
plt.axhline(0, color='k')
注:df.iloc[5]意思是取出df第6行(索引为5),然后绘制条形图
plt.axhline(0, color='k')指的是在y=0的位置画一条黑色的线
注:因为是随机产生的值绘图,你的图一般和我不一样,一样就厉害了!
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot.bar()
注:如果看了前一章,以上代码很好理解,这里同一幅图绘制多个条形图比较
df2.plot.bar(stacked=True)
注:将a、b、c、d数据叠加起来绘制条形图
df2.plot.barh(stacked=True)
注:绘制水平叠加条形图
df4 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),
'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
df4.head()
注:以标准正态分布为基础产生一个df4
plt.figure()
df4.plot.hist(alpha=0.5)
注:绘制直方图,alpha=0.5意思为透明度为50%
注:明明有三列数据,画出有六种颜色,应该是是颜色叠加出了新颜色
plt.figure()
df4.plot.hist(stacked=True, bins=20)
注:画堆积直方图(不会重叠,直观)bins=20指的是分为20个区段
图中没有显示20个因为正态分布距离中心远处取值可能心很小,可能只有个别值,在图中不明显
plt.figure();
df4['a'].plot.hist(orientation='horizontal', cumulative=True)
注:取出A列画横向累积直方图,采用默认10个区段
plt.figure()
df['A'].diff().hist()
注:diff为差分,即后一个减去前一个,我们看一下:
df['A'].diff().head()
注:显示A列中差分结果的前五个数
注意,第一个值不存在,因为原来的第一个数减去前面一个(第一个的前面一个数不存在),所以为NaN
差分后绘制的直方图为(默认为十个区段吧):
plt.figure()
df.diff().hist(color='g', alpha=0.5, bins=20)
注:df中四栏(4列)分别绘制一阶差分的图(绿色,半透明,分20区段),有种2x2子图的感觉
data = pd.Series(np.random.randn(1000))
data.hist(by=np.random.randint(0, 4, 1000),figsize=(6, 4))
注:这里产生1000个正态分布的随机数,然后使用hist方法中的by参数随机产生0-3中的整数(即0、1、2、3)
将原来的1000个正态分布的随机数对应上分组绘制四张图
图的长宽大小为6x4
pandas的绘图真美~~~~~~~~
pandas绘制条形图、正方图到此结束
文中所写如有谬误请指出,感谢!
http://pandas.pydata.org/pandas-docs/stable/visualization.html#
微课福利:Hellobi live |8月22日,利用 Python 建构金融数据分析平台
查看下图说明免费参加或者点击文末阅读原文参加
关注公众号,“Python爱好者社区”,回复“爬虫”即可获取崔老师爬虫免费学习视频。
为大家提供与Python相关的最新技术和资讯。
长按指纹 > 识别图中二维码 > 添加关注