查看该表,我希望在 Python 数据框中复制 Rollover 列。翻转着眼于:
当产量>最大产能时,就会产生展期。 接下来的日期将查看前一天,并添加生产增量 - 最大产能,或减去最大产能增量 - 产量。
Rollover永远不会低于0。
可以识别第一次的索引
production > max_capacity
,将之前的所有条目设置为0,然后进行累加。
df['EXTRA'] = df['PRODUCTION'] - df['MAX_CAPACITY']
first_pos_idx = df['EXTRA'].gt(0).idxmax()
df.loc[:first_pos_idx-1, "EXTRA"] = 0
df['ROLLOVER'] = df['EXTRA'].cumsum()
结果:
DATE PRODUCTION MAX_CAPACITY EXTRA ROLLOVER
0 2024-01-01 10 11 0 0
1 2024-01-02 8 11 0 0
2 2024-01-03 8 11 0 0
3 2024-01-04 15 11 4 4
4 2024-01-05 15 11 4 8
5 2024-01-06 12 11 1 9
6 2024-01-07 10 11 -1 8
7 2024-01-08 9 11 -2 6
8 2024-01-09 14 11 3 9
9 2024-01-10 16 11 5 14
10 2024-01-11 2 11 -9 5