2017-02-15 8 views
0

パンダの使用1つの列をグループ化し、2つの列をまとめたいとします。matplotlib(pandas)のgroupbyの2つの要約列にラベルを付けます

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

そして、私は素敵なプロットを取得するが、どのように私は、各列にラベルを付けることができます。 私はそのようにやっているどの。例えば、時間\ n [h] .1の代わりに '時間\ n [h]'と '時間'の代わりに '私たち'のような '私たち'を参照してください。

(奇妙なタイトルの申し訳ありませんが、 )

おかげで、 Submi

答えて

0

は、一つの可能​​な解決策は、dictすることにより、第1列の名前を変更です:

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() 

graph

+0

それは私の作品、ありがとう! – Submi

関連する問題