2016-05-18 45 views
1

列Aでグループ化し、列Cで合計して結果をすぐにデータフレームに戻したいとします。私はgroupbyを使う必要があることを知っています。私はsumを使用する必要があることを知っていますが、これらの関数をシームレスに、そして1行のコードでやりとりする方法を理解することはできません。Pandas Groupbyで列を集計する

A B  C 
0 x text 3 
1 x text 7 
2 y text 5 

groubpy

A B  C D 
0 x text 3 10 
1 x text 7 10 
2 y text 5 5 

答えて

3

コールtransform元DFに集約された列を追加したいことがあります:

In [28]: 
df['D'] = df.groupby('A')['C'].transform('sum') 
df 

Out[28]: 
    A  B C D 
0 x text 3 10 
1 x text 7 10 
2 y text 5 5 

transformは、そのインデックスのシリーズを返します元のdfに揃えられますそれは新しい列として

+0

完璧、ありがとう! – Lisle

+0

私の答えがあなたの質問を解決した場合、あなたはそれを受け入れることができます、私の答えの左上に空の目盛りがあります – EdChum

関連する問題