使用Pandas我想分组一列,而不是总结另外两列。 我正在这样做:
df.groupby('data')['Time \n[h]', 'Time \n[h].1'].sum().plot(kind='line')
我得到了很好的情节,但我如何标记每一列。例如'Us'而不是'Time \ n [h]'和'Them'而不是'Time \ n [h] .1'
(对不起奇怪的头衔,但我甚至不确定怎么称呼它)
谢谢, Submi
答案 0 :(得分:0)
一种可能的解决方案是首先按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()