我想知道如何在使用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
答案 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()