作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/33文章地址:http://www.showmeai.tech/article-detail/150免责声明:版权所有,转载请联系平台及作者并注明出处。在前面的教程中你已经看到了Pandas灵活的操作数据分析,但同时作为一个功能强大、功能多样的工具库,它也可以非常方便支持数据可视化,大部分基本的图像绘制都可以仅用一行代码就实现了,大大加快了我们的分析效率。在这篇文章中,我们介绍了pandas可视化和绘制各种图形的方法。1.DataFrame上的基本绘图函数plotSeries和可视化只是对matplotlib库的plot()方法的简单包装。将pandas导入为pdimportnumpyasnpdf=pd.DataFrame(np.random.randn(10,4),index=pd.date_range('1/1/2022',periods=10),columns=list('ABCD'))df.plot()的结果如下:如果索引是由日期组成的,如上图,会自动填充日期。除了默认的折线图,还可以绘制多种样式,可以使用DataFrame.plot.[GraphTypeParameters]方法选择不同的图形。2.barchartimportpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.rand(10,4),columns=['e','f','g','h'])df.plot.bar()的结果如下:要生成堆叠直方图,可以设置stacked=Trueimportpandasaspddf=pd.DataFrame(np.random.rand(10,4),columns=['e','f','g','h'])df.plot.bar(stacked=True)结果如下:获取水平条形图可以使用barh方法:importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.rand(10,4),columns=['e','f','g','h'])df.plot.barh(stacked=True)结果如下如下:3.直方图可以使用plot。hist()方法绘制直方图。我们可以指定数量。将熊猫导入为pdimportnumpyasnpdf=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':np.random.randn(1000)-1,'d':np.random.randn(1000)-2},columns=['a','b','c','d'])df.plot.hist(bins=20)运行结果如下:可以使用如下代码为每一列绘制不同的直方图:importpandasaspdimportnumpyasnpdf=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':np.random.randn(1000)-1,'d':np.random.randn(1000)-2},列=['a','b','c','d'])df.diff().hist(bins=20)结果如下:4.箱线图可以调用Series.box.plot()和DataFrame.box.plot()或DataFrame.boxplot()绘制箱线图以可视化每列中值的分布。例如,这里是一个箱线图,表示[0,1)上随机变量的10个观察值的五次试验。importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.rand(10,5),columns=['A','B','C','D','E'])df.plot.box()操作的结果如下:5.面积图您可以使用Series.plot.area()或DataFrame.plot.area()方法来创建面积图。将pandas导入为pdimportnumpyasnpdf=pd.DataFrame(np.random.rand(10,4),columns=['A','B','C','D'])df.plot.area()运行结果如下:6.散点图要创建散点图,可以使用DataFrame.plot.scatter()方法。importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.rand(50,4),columns=['a','b','c','d'])df.plot.scatter(x='a',y='b')运行结果如下:7.饼图要创建饼图,可以使用DataFrame.plot.pie()方法。将pandas导入为pdimportnumpyasnpdf=pd.DataFrame(3*np.random.rand(4),index=['a','b','c','d'],columns=['x'])df.plot.pie(subplots=True)结果如下:数据和代码下载本系列教程的代码可以在ShowMeAI对应的github上下载,可以在本地python环境下运行。会科学上网的宝宝也可以直接使用googlecolab一键操作,互动操作学习!本系列教程涉及的小抄可以在以下地址下载:Pandas小抄NumPy小抄Matplotlib小抄Seaborn小抄扩展参考资料Pandas可视化教程Seaborn官方教程ShowMeAI相关文章推荐数据分析数据分析思维导论数学数据分析基础业务认知与数据初步探索数据清洗与预处理业务分析与数据挖掘数据分析工具地图统计与数据科学计算工具库Numpy介绍Numpy与一维数组运算Numpy与二维数组运算Numpy与高维度运算Array运算数据分析工具库Pandas介绍DiagramPandas核心运算函数大全图Pandas数据转换高级函数Pandas数据分组与运算数据可视化原理与方法基于Pandas的数据可视化海天生工具与数据可视化ShowMeAI系列教程推荐图解Python编程:入门到精通系列教程图解数据分析:从入门到精通系列教程图解AI数学基础:从入门到精通系列教程图解大数据技术:从入门大师系列教程
