2017-12-08 12 views
0

私はgroupbyを実行していて、列の合計を得ることができますが、2列の合計をどのようにして得ますか?Pandas Groupby列との和

detail [ 'debit' ] = df.groupby ('type') [ 'debit' ].sum() 
detail [ 'credit' ] = df.groupby ('type') [ 'credit' ].sum() 

私は(クレジットカード)を一緒に必要としています。

このような何か:

detail [ 'profit' ] = df.groupby ('type') ([ 'credit' ] - [ 'debit' ]).sum() 

、明らかにそれが動作しません。

ありがとうございました。

+0

あなたは '' df.groupby( 'type')(['クレジット'、 'デビット']).sum() ' – Dark

+2

を意味するのはなぜでしょうか?詳細['profit'] = detail ['credit'] - detail ['デビット'] '? – IanS

+1

@IanSとその後groupbyを適用してください(ちょうどfprの完成度) – EyJay

答えて

0

同様@IanSは、私が最初に新しい列に結果を保存し、その後GROUPBY機能を適用する、提案:

df['profit'] = df['credit'] - df['debit'] 
detail = df.groupby('type').sum()[['profit', 'credit', 'debit']] 

私はgroupby - actionsを一つにまとめました。

+0

ビンゴにする必要があります、これは働いた。ありがとう! – diogenes

0

あなたが試してみました:

detail [ 'profit' ] = sum(df.groupby ('type') [ 'credit' ] - df.groupby ('type') [ 'debit' ])