获取适当的标签以显示在分组的DataFrameGroupBy.plot()图例中

时间:2013-11-07 22:22:34

标签: python pandas

我想知道如何在使用group by方法分组后,在DataFrame图中显示正确的图例标签。人们会期望传奇标签是组名;相反,它们显示为冗余因变量名称。

例如,我有一个如下所示的DataFrame:

     ECMO  Year Sex  Runs    p_ecmo
102   111  2011   M  2106  0.052707
104    31  2012   F  1801  0.017213
105    42  2012   M  2664  0.015766
107    59  2013   F  1039  0.056785
108    72  2013   M  1386  0.051948

我正在尝试按sex分组,并按年计划p_ecmo。因此,

ecmo_by_year[ecmo_by_year.Year>=1996].groupby('Sex').plot('Year', 'p_ecmo', grid=False)
ylabel('Proportion ECMO')
plt.legend()

但我得到的是这个,这没有用。图例应显示组名,而不是变量。

plot http://f.cl.ly/items/11463k2w2K010Z0z1m1j/Unknown-1.png

1 个答案:

答案 0 :(得分:0)

看起来您不需要groupby,因为您没有拆分,合并或应用p_ecmo

您可以使用pivot_table来获得所需的结果。

pt = ecmo_by_year.pivot_table(['p_ecmo'], rows='Year', cols='Sex').fillna(0) pt['p_ecmo'].plot()