如何通过pandas dataframe axis python获取条形图

时间:2018-04-21 17:53:08

标签: python pandas matplotlib plot

考虑以下数据框,这是jupyter笔记本上的样子:

in(1): df

out(1):

months          0   1   3   6   12

        name                    
------------------------------------
     janedoe    1.0 3.0 3.0 2.0 1.0
     johndoe    3.0 2.0 3.0 1.0 1.0
     tfbundy    1.0 3.0 3.0 3.0 3.0
     someone    1.0 2.0 3.0 4.0 4.0
     another    1.0 2.0 2.0 3.0 2.0
         ...    ... ... ... ... ...

等700行。我想创建一个带有stdev误差条的条形图,其中y轴是每月列的平均分(1.0,3.0等),x轴是月(0,1,3,6,12) )。我该怎么做?

谢谢。

1 个答案:

答案 0 :(得分:2)

最简单的方法是通过seaborn.barplot,因为它会创建错误栏和其他好东西。

首先,融化DataFrame:

m = pd.melt(df).rename(columns={'variable': 'month'})

这将创建一个包含两列的DataFrame:monthvalue。现在绘制它:

import seaborn as sns

sns.barplot(x='month', y='value', data=m)

对于样本中的数据,它将如下所示:

enter image description here