【发布时间】:2022-01-06 23:05:06
【问题描述】:
我试图根据不同行的累积总和来获取一行的最大值。我的数据框如下所示:
df = pd.DataFrame({'constant': ['a', 'b', 'b', 'c', 'c', 'd', 'a'], 'value': [1, 3, 1, 5, 1, 9, 2]})
indx constant value
0 a 1
1 b 3
2 b 1
3 c 5
4 c 1
5 d 9
6 a 2
我正在尝试添加一个新字段,其中 constant 在数据框中具有最高的 value 累积总和。最终的数据框如下所示:
indx constant value new_field
0 a 1 NaN
1 b 3 a
2 b 1 b
3 c 5 b
4 c 1 c
5 d 9 c
6 a 2 d
如您所见,在索引 1 处,a 的所有先前行的最大累积总和为 value。在索引 2 处,b 的所有先前行的最大累积总和为 value,依此类推。
谁有解决办法?
【问题讨论】:
-
我觉得这只是一个转变
-
我尝试过使用 shift,但似乎仍然无法获取每行的最高累积
constant值。我的初始/输出 dfs 设置方式可能令人困惑,输出与 df.constant.shift() 对齐的事实是巧合
标签: python pandas dataframe cumulative-sum