2017-10-15 14 views
0

は、私は次のタイプのデータフレームを持っている:パンダとのグループ化とコラボレーション方法は?

Country  Year Age  Male Female 
0 Canada  2005 50  400  25 
1 Canada  2005 51  100  25 
2 Canada  2006 50  100  70 
3 Columbia 2005 50  75  75 

私は、例えば、あらゆる年齢の男性の総数は+、女性、国、年によってグループ化された取得したいと思います。私。私は私が上記の例では、このような

Country  Year Total over ages and sexes 
0 Canada  2005 550 
1 Canada  2006 170 
2 Columbia 2005 150 

としての表を参照してくださいする可能性がありますどのような操作を理解しようとしている、値550は関わらず、2005年のためにカナダの男性と女性の総数から来ています年齢:だから550 = 400 + 25 + 100 + 25。

おそらくgroupby国と年が必要ですが、年齢を崩壊させ、男性と女性の合計数を確認する方法はわかりません。

+0

あなたが "崩壊" によって何を意味するかと、もう少し明確にしてくださいことはできますか?どのようにそれらの数字で終わるのですか?計算を分解してください、それは助けになるでしょう。 –

+0

私はこの例を拡張しました。 – theQman

答えて

1
df["Total"] = df.Male + df.Female 
df.groupby(["Country", "Year"]).Total.sum() 

出力:

Country Year 
Canada 2005 550 
      2006 170 
Columbia 2005 150 
Name: Total, dtype: int64 

更新
cᴏʟᴅsᴘᴇᴇᴅ年代チェインバージョン:

(df.assign(Total=df.Male + df.Female) 
    .groupby(['Country', 'Year']) 
    .Total 
    .sum() 
    .reset_index(name='Total over ages and sexes')) 
+0

'df.assign(合計= df.Male + df.Female).groupby(['国'、 '年'])。合計.sum()。リセット_インデックス(名前= '年齢の合計') –

+0

素晴らしいありがとう。 –

関連する問題