聚丙烯酰胺
您当前的位置:葡京电玩城平台 > 顶级信誉平台 >
Pandas可视化综合指南:手把手从零教你绘制数据图表
Pandas可视化综合指南:手把手从零教你绘制数据图表 Pandas可视化综合指南:手把手从零教你绘制数据图表--旧事头条 2019-09-22栏目:商业TAG:

原标题:Pandas可视化综合指南:手把手从零教你绘制数据图表

晓查 编译整理

数据可视化原本是一个十分庞大的进程,但随着Pandas数据帧plot函数的呈现,使得创立可视化图形变得很轻易。

在数据帧上停止操纵的plot函数只是matplotlib中plt.plot函数的一个复杂包装 ,可以协助你在画图进程中省往那些长长的matplotlib代码。

比来,一位来自印度的小哥以2019年天下幸福指数的数据为例,具体报告了在Pandas中plot函数的种种参数设置的小本领,纯熟把握这些本领后,你也能绘制出丰厚多彩的可视化图表。

导进数据

在绘制图形前,我们起首需求导进csv文件:

importpandas aspd df=pd.read_csv(‘./world-happiness-report-2019.csv’) df.head(3)

这个csv图标的内收留是各个国度依照差别维度评价的幸福指数(数据下载地点见文末):

数据帧中一些列的称号比拟冗长,可以重定名使其愈加简约:

df.rename(columns={“Country (region)”: “Country”, “Log ofGDPnper capita”: “Log_GDP_per_capita”, “Healthy lifenexpectancy”:”Health_life_expect”},inplace=True) df.columns

绘制柱状图、散点图等罕见图形

从比来复杂的柱状图开端,只统计糜烂水平、自在度、宽收留度、社会支持等几个维度

%matplotlib tk df1=df[:5] df1.plot(‘Country’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’],kind = ‘bar’)

嫌直接写称号太费事?不妨,我们也可以用地点列的数字来绘制,比方上述4个列辨别为7、6、8、5:

%matplotlib tk df1=df[:5] df1.plot(‘Country’,[7,6,8,5],kind = ‘bar’)

在下面的代码中kind = ‘bar’,以是绘制的图形是柱状图,假如我们把参数改成kind = ‘line’,画出的就是线状图。

df1=df[:5] df1.plot(‘Country’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’],kind = ‘line’)

异样的,假如把参数改成kind = ‘line’,还能绘制出箱形图:

df[:5].plot(x=’Country’,kind=’box’)

关于散点图,设置kind=’scatter’,绘制出糜烂水平与自在度之间的干系,用color=’R’将点界说为白色:

df.plot(x=’Corruption’,y=’Freedom’,kind=’scatter’,color=’R’)

别的,Pandas中另有一个辅佐函数pandas.plotting.table,它创立一个来自数据帧的表格,并将其添加到matplotlib Axes实例中。

from pandas.plotting import table df1=df[:5] df1=df.loc[:5,[‘Country (region)’,’Corruption’,’Freedom’,’Generosity’,’Social support’]] ax=df1.plot(‘Country (region)’,[‘Corruption’,’Freedom’,’Generosity’,’Social support’], kind = ‘bar’, title =’Bar Plot’,legend=None) table(ax, np.round(df1.describe, 2),loc=’upper right’)

坐标轴的设置 取值范畴

运用xlim和ylim两个参数可设置x和y轴的范畴。在折线图中,我们要将x轴设置为0到20,y限定为从0到100。

df1=df[:20] df1[‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100))

x、y轴刻度

偶然候坐标轴上的刻度并不睬想,我们盼望在下面标上我们喜好的数值。

比方关于x轴,我们想要标上0、10、15和20几个值;关于y轴,我们想要标上0、50、70、100几个值,可以在xticks和yticks参数中悉数列出。

df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100),color=’red’,xticks=([0,10,15,20]),yticks=([0,50,70,100]), title = ‘xticks’)

但是用列表来订定坐标刻度的办法,在数值太多的时分就比拟费事了,因而我们还能经过指定刻度距离的办法来绘制坐标轴,比方指定x轴距离是1,y轴距离是10:

df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100),color=’red’,xticks=([w1 for w in range(20)]),yticks=([w10 for w in range(40)]))

假如我们不盼望在坐标轴上看到数字,而是想要设置标签。我们还可以将x轴标签变动为文本标签“低、中、高”这种款式。

ax=df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,20),ylim=(0,100),color=’red’,xticks=([0,10,20]),yticks=([w*30 for w in range(40)])) ax.set_xticklabels([‘Low’,’Med’,’High’])

对数坐标

假如数据的跨度范畴十分大,高出好几个数目级,那么用线性坐标就无法很好地展现数据。这时分我们需求用到对数坐标,设置办法是将logx或许logy的值设置为Ture。

假如我们只想设置x轴为对数坐标,y轴仍坚持线性坐标,那么

df[:20][‘Freedom’].plot(kind=’line’,xlim=(0,1000),ylim=(0,100),color=’red’,logx=True)

其他高阶用法

可以运用stacked参数来绘制带有条形图的堆叠图。在这里,我们绘制堆叠的程度条,stacked设置为True。

将grid参数设置为True,可以给图表参加网格。

有了subplot参数还可以绘制子图,依据需求指定行数和列数以及画图的数目。

在下面的子图中,我们没有给子图添加标题。当subplot 设置为True 时,在设置一组title的值,即可在列表上方参加标题。

原文链接:

https://kanoki.org/2019/09/16/dataframe-visualization-with-pandas-plot/

表格下载地点:

https://www.kaggle.com/PromptCloudHQ/world-happiness-report-2019/version/1

作者系网易旧事·网易号“各有态度”签约作者

Pandas可视化综合指南:手把手从零教你绘制数据图表顶级信誉平台

快速链接
手机版链接
联系我们
地 址:巩义市工业示范区朝阳路8号
邮 箱: gylvliao@163.com
电 话: 0371-64133426 64133719
关注我们
图片
官方微信