【发布时间】:2022-01-23 15:15:31
【问题描述】:
我有这个数据框 -
counter duration amount
0 1 0.08 1,235
1 2 0.36 1,170
2 3 1.04 1,222
3 4 0.81 1,207
4 5 3.99 1,109
5 6 1.20 1,261
6 7 4.24 1,068
7 8 3.07 1,098
8 9 2.08 1,215
9 10 4.09 1,043
10 11 2.95 1,176
11 12 3.96 1,038
12 13 3.95 1,119
13 14 3.92 1,074
14 15 3.91 1,076
15 16 1.50 1,224
16 17 3.65 962
17 18 3.85 1,039
18 19 3.82 1,062
19 20 3.34 917
我想根据以下逻辑创建另一列:
对于每一行,我想计算“持续时间”的运行总和,但它应该是当前行下方的行的运行总和(领先而不是滞后)。 我想在运行总和达到 5 时停止计算 -> 当它达到 5 时,我想返回“金额”的运行总和(使用相同的逻辑)。
例如,对于 'counter' 1,它应该取前 4 行 (0.08+0.36+1.04+0.81
对于“计数器”2,它应该只需要 0.36 + 1.04 + 0.81
将不胜感激!
【问题讨论】:
标签: python pandas dataframe cumsum