我有一个像这样的数据框:
customer spend hurdle
A 20 50
A 31 50
A 20 50
B 50 100
B 51 100
B 30 100
Run Code Online (Sandbox Code Playgroud)
我要计算“累积”的其他列,当“累积”总和大于或等于障碍时,该列将基于同一客户重置,如下所示:
customer spend hurdle Cumulative
A 20 50 20
A 31 50 51
A 20 50 20
B 50 100 50
B 51 100 101
B 30 100 30
Run Code Online (Sandbox Code Playgroud)
我在熊猫中使用cumsum和groupby,但我不知道如何根据情况重设它。
以下是我当前使用的代码:
df1['cum_sum'] = df1.groupby(['customer'])['spend'].apply(lambda x: x.cumsum())
Run Code Online (Sandbox Code Playgroud)
我知道这只是正常的累计金额。非常感谢您的帮助。