【发布时间】:2019-09-09 18:41:11
【问题描述】:
我有一个以下类型的数据框。除了我希望创建的最后一列“Total Previous Points P1”之外,我拥有所有列:
数据按“日期”列排序。
Date | Points_P1 | P1_id | P2_id | Total_Previous_Points_P1
-------------+---------------+----------+-----------------------------------
10/08/15 | 5 | 100 | 90 | 500
-------------+---------------+----------+-----------------------------------
11/09/16 | 5 | 100 | 90 | 500
-------------+---------------+----------+-----------------------------------
20/09/19 | 10 | 10000 | 360 | 4,200
-------------+---------------+----------+-----------------------------------
... | | ... | ... | ...
-------------+---------------+----------+-----------------------------------
n | | | |
现在我要创建的列是上面显示的“Total_Previous_Points_P1”列。
创建方式:
- 对于每一行,检查日期(称为 DATE_VAL)和 P1_id(称为 ID_VAL)
- 现在,对于 DATE_VAL AND 其中 P1 id == ID_VAL 之前的所有行,总结之前的点。
- 将此总和放在当前行的最后一列中
有没有一种快速的 pandas pythonic 方法来做到这一点?我的数据集非常大。
谢谢!
【问题讨论】: