【发布时间】:2022-01-22 18:15:29
【问题描述】:
我有以下数据框:
| user | event_id | event_creation | event_b | USD |
|---|---|---|---|---|
| a | 1 | 2021/07/01 | NaN | 10 |
| a | 2 | 2021/07/02 | 2021/07/17 | 10 |
| a | 3 | 2021/07/22 | 2021/08/02 | 10 |
| a | 4 | 2021/07/24 | 2021/08/02 | 10 |
| a | 5 | 2021/07/24 | 2021/08/06 | 10 |
| a | 6 | 2021/08/16 | 2021/01/29 | 10 |
| b | 7 | 2021/08/18 | 2021/10/14 | 10 |
我想根据条件聚合 sum_cum 创建一个新列。
按用户分组,遍历 event_ids,
对于每个 event_id,查看所有之前的事件,并将 event_b 日期小于当前事件创建日期的所有事件的美元金额相加。
所以我会得到以下DataFrame:
| user | event_id | event_creation | event_b | USD | sum_cum |
|---|---|---|---|---|---|
| a | 1 | 2021/07/01 | NaN | 10 | 0 |
| a | 2 | 2021/07/02 | 2021/07/17 | 10 | 0 |
| a | 3 | 2021/07/22 | 2021/08/02 | 10 | 10 |
| a | 4 | 2021/07/24 | 2021/08/02 | 10 | 10 |
| a | 5 | 2021/07/24 | 2021/08/06 | 10 | 10 |
| a | 6 | 2021/08/16 | 2021/01/29 | 10 | 40 |
| b | 7 | 2021/08/18 | 2021/10/14 | 10 | 0 |
我尝试创建循环但没有任何结果,我希望解释清楚,谢谢你的帮助:)
【问题讨论】: