我正在进行groupby并且可以获得列的总和,但是如何将两列的总和放在一起?
detail [ 'debit' ] = df.groupby ( 'type' ) [ 'debit' ].sum ()
detail [ 'credit' ] = df.groupby ( 'type' ) [ 'credit' ].sum ()
现在我需要(信用卡 - 借记卡)。
类似的东西:
detail [ 'profit' ] = df.groupby ( 'type' ) ( [ 'credit' ] - [ 'debit' ] ).sum ()
显然这不起作用。
感谢。
答案 0 :(得分:0)
你试过了吗?
detail [ 'profit' ] = sum(df.groupby ( 'type' ) [ 'credit' ] - df.groupby ( 'type' ) [ 'debit' ])
答案 1 :(得分:0)
像@IanS建议的那样,我首先将结果保存在新列中,然后应用groupby函数:
df['profit'] = df['credit'] - df['debit']
detail = df.groupby('type').sum()[['profit', 'credit', 'debit']]
我还将groupby-actions合并为一个。