一般我们做数据挖掘或者是数据分析,再或者是大数据开发提取数据库里面的数据时候,难免只能拿着表格数据左看右看,内心总是希望能够根据自己所想立马生成一张数据可视化的图表来更直观的呈现数据。而当我们想要进行数据可视化的时候,往往需要调用很多的库与函数,还需要数据转换以及大量的代码处理编写。这都是十分繁琐的工作,确实只为了数据可视化我们不需要实现数据可视化的工程编程,这都是数据分析师以及拥有专业的报表工具来做的事情,日常分析的话我们根据自己的需求直接进行快速出图即可,而Pandas正好就带有这个功能,当然还是依赖matplotlib库的,只不过将代码压缩更容易实现。下面就让我们来了解一下如何快速出图。
Series和DataFrame上的plot方法只是plt.plot()的简单包装,这里我们用一段实际数据来进行可视化展示:
这是一段真实地铁通行量特征数据,我们用此数据进行展示:
如果索引由日期组成,则调用gcf().autofmt_xdate()方法可以很好地格式化x轴。
在DataFrame上,plot()可以方便地用标签绘制所有列:
可以使用plot()中的x和y关键字绘制一列与另一列的对比,比如我们想要使用星期六的客流量和星期日的客流量作对比:
根据Pandas包装后的kind关键字我们梳理一下底图种类:
也可以使用DataFrame.plot方法创建这些其他绘图而不是提供kind关键字参数。这使得更容易发现绘图方法及其使用的特定参数
df.plot.areadf.plot.barhdf.plot.densitydf.plot.histdf.plot.linedf.plot.scatterdf.plot.bardf.plot.boxdf.plot.hexbindf.plot.kdedf.plot.pie除了这些类型,还有DataFrame.hist()和DataFrame.boxplot()方法,它们使用单独的接口。
最后,pandas中有几个绘图功能。以Series或DataFrame作为参数的绘图。其中包括:
分别是:
绘图也可以用错误条或表格进行装饰。
多个标签图表也可以一齐绘出:
要生成堆叠条形图,传递stacked=True:
长久看这个maatplotlib的默认地图有点疲劳了,我这里换个主题,还是一样的效果不碍事。
要获得水平条形图可以使用barh方法:
可以使用DataFrame.plo.hist()和Series.plot.hist()方法绘制直方图.
df4.plot.hist(stacked=True,bins=20);可以传递matplotlibhist支持的其他关键字。例如,水平和累积直方图可以通过orientation='horizontal'和cumulative=True绘制。
有关详细信息,可以参阅hist方法和matplotlibhist文档。现有接口DataFrame.hist,但仍然可以使用hist绘制直方图
DataFrame.hist()可以在多个子地块上绘制列的直方图:
可以指定by关键字来绘制分组直方图:
此外,还可以在DataFrame.plot.hist()中指定by关键字:
以上就是本期全部内容。我是fanstuck,有问题大家随时留言讨论,我们下期见