作者:王大伟 Python爱好者社区唯一小编 博客:https://ask./blog/wangdawei 点击上图即可限时半价购买课程 前文传送门:pandas可视化(1)【官方文档解读】--基础绘图 如绘图过程中,中文字体和负号显示有问题,可以参照如下链接修改配置参数设置正常显示: https://www./post/441 IDE : jupyter notebook Anaconda 3.X 对于标记的非时间序列数据,你可能希望生成条形图: import matplotlib 注:如前一章,先导入必要的模块和绘图的数据准备 plt.figure(); 注: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(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), 注:以标准正态分布为基础产生一个df4 plt.figure() 注:绘制直方图,alpha=0.5意思为透明度为50% 注:明明有三列数据,画出有六种颜色,应该是是颜色叠加出了新颜色 plt.figure() 注:画堆积直方图(不会重叠,直观)bins=20指的是分为20个区段 图中没有显示20个因为正态分布距离中心远处取值可能心很小,可能只有个别值,在图中不明显 plt.figure(); 注:取出A列画横向累积直方图,采用默认10个区段 plt.figure() 注:diff为差分,即后一个减去前一个,我们看一下: df['A'].diff().head() 注:显示A列中差分结果的前五个数 注意,第一个值不存在,因为原来的第一个数减去前面一个(第一个的前面一个数不存在),所以为NaN 差分后绘制的直方图为(默认为十个区段吧): plt.figure() 注:df中四栏(4列)分别绘制一阶差分的图(绿色,半透明,分20区段),有种2x2子图的感觉 data = pd.Series(np.random.randn(1000)) 注:这里产生1000个正态分布的随机数,然后使用hist方法中的by参数随机产生0-3中的整数(即0、1、2、3) 将原来的1000个正态分布的随机数对应上分组绘制四张图 图的长宽大小为6x4 pandas的绘图真美~~~~~~~~ pandas绘制条形图、正方图到此结束 文中所写如有谬误请指出,感谢! http://pandas./pandas-docs/stable/visualization.html# 微课福利:Hellobi live |8月22日,利用 Python 建构金融数据分析平台 |
|