繁体   English   中英

在matplotlib(pandas)中标记groupby的两个汇总列

[英]Label two summarize columns of groupby in matplotlib (pandas)

使用熊猫,我想按一列分组,而不要总结另外两列。 我正在那样做:

df.groupby('data')['Time \n[h]', 'Time \n[h].1'].sum().plot(kind='line')

我得到了不错的情节,但是我如何标记每列。 例如,用“ Us”代替“ Time \\ n [h]”,用“ Them”代替“ Time \\ n [h] .1”

(对不起,标题奇怪,但我什至不知道如何称呼它)

谢谢秀美

一种可能的解决方案是首先通过dict重命名列:

df1 = df.rename(columns={'Time \n[h]':'Us','Time \n[h].1':'Them'})
df1.groupby('data')['Us', 'Them'].sum().plot(kind='line')

或者,您可以设置legend文本:

ax = df.groupby('data')['Time \n[h]', 'Time \n[h].1'].sum().plot(kind='line')
ax.legend(['Us','Them'])

样品:

df = pd.DataFrame({'data':[1,1,3],
                   'Time \n[h]':[4,5,6],
                   'Time \n[h].1':[7,8,9]})

print (df)
   Time \n[h]  Time \n[h].1  data
0           4             7     1
1           5             8     1
2           6             9     3

df1 = df.rename(columns={'Time \n[h]':'Us','Time \n[h].1':'Them'})
df1.groupby('data')['Us', 'Them'].sum().plot()

图形

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM