我有一个如下表,正在计算“Rollover”(之前的 D 值 + B - C)。 我当前正在使用: df['Rollover'] = (df['Rollover'].shift(1) + df['B'] - df['C']) 但在第二行之后,该值不采取之前的“Rollover”值。
IIUC,对列
B
和 C
求和,然后使用 cumsum
:
df["Rollover"] = df["B"].add(df["C"]).cumsum()
A B C D E Rollover
0 2024-01-01 1 1 1 1 2
1 2024-01-02 2 1 1 1 5
2 2024-01-03 2 2 2 2 9
3 2024-01-04 1 1 1 1 11
4 2024-01-05 4 4 4 4 19
5 2024-01-06 1 1 1 1 21
6 2024-01-07 4 4 4 4 29
7 2024-01-08 2 1 1 1 32
8 2024-01-09 4 4 4 4 40