熊猫多列滚动总和

时间:2019-01-10 17:29:35

标签: python pandas

我有一个按以下结构配置的熊猫数据框:

   date  amount  another_amount  name
0   1/1       5               6  dave
1   2/1       3               4  dave
...
2  12/1       7              10  dave

如何将上一行的value和another_amount求和,直到最后一行具有整个数据帧的总和?

因此,例如2/1行的金额为8(5 + 3),other_amount的金额为10(6 + 4),那么3/1行将具有该行包含的内容以及先前的8和。在其各自的列中为10

如果这是一个令人困惑的问题,我会道歉,我会尽力澄清

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用cumsum

df.iloc[:, 1:-1] = df.iloc[:, 1:-1].cumsum()

print(df)

输出

   date  amount  another_amount  name
0   1/1       5               6  dave
1   2/1       8              10  dave
2  12/1      15              20  dave

或者,如果您只想要amountanother_amount

df.loc[:, ['amount', 'another_amount']] = df.loc[:, ['amount', 'another_amount']].cumsum()

答案 1 :(得分:0)

您可能正在寻找cumsum