或如何计算每次预订的账户余额。
我有一个账户中每笔交易的数据框,其中交易金额只是列中的正数或负数。此外,我还有当前账户余额。
我想做的是在我的数据框中添加一个 balance 列,用于存储每次预订后的当前余额。
amount
bookingDate
2016-10-25 00:00:00+00:00 8424.09
2016-10-26 00:00:00+00:00 -3264.72
2016-10-27 00:00:00+00:00 -27.50
2016-10-28 00:00:00+00:00 -611.85
2016-10-31 00:00:00+00:00 -248.40
2016-11-01 00:00:00+00:00 323.37
假设 2016-10-25(+8424.09 之后)的余额为 5000,所以我预计会是这样的:
amount balance
bookingDate
2016-10-25 00:00:00+00:00 8424.09 5000
2016-10-26 00:00:00+00:00 -3264.72 1735.28
2016-10-27 00:00:00+00:00 -27.50 1707.78
2016-10-28 00:00:00+00:00 -611.85 1095.93
2016-10-31 00:00:00+00:00 -248.40 847.53
2016-11-01 00:00:00+00:00 323.37 1170.90
在 pandas 中这样做的最佳方法是什么?我如何考虑账户余额的可变起始金额?
请您参考如下方法:
您可以使用 pd.Series.cumsum , 添加您的起始余额并扣除初始金额:
df['Balance'] = df['amount'].cumsum() + 5e3 - df['amount'].iloc[0]
print(df)
amount Balance
bookingDate
2016-10-25 8424.09 5000.00
2016-10-26 -3264.72 1735.28
2016-10-27 -27.50 1707.78
2016-10-28 -611.85 1095.93
2016-10-31 -248.40 847.53
2016-11-01 -323.37 524.16
