【发布时间】:2021-06-09 14:00:09
【问题描述】:
我有一个 pandas 数据框,我需要计算过去 20 天的累积总和。
User Date A B
User1 01/10/2020 1 0
User1 10/10/2020 0 1
User1 15/10/2020 1 1
User1 21/10/2020 0 0
User2 10/10/2020 0 0
User2 21/10/2020 1 0
User2 03/11/2020 1 0
因此,对于每一行,仅对过去 20 天内的行求和。
User Date A B
User1 01/10/2020 1 0
User1 10/10/2020 1 1
User1 15/10/2020 2 2
User1 21/10/2020 1 2
User2 10/10/2020 0 0
User2 21/10/2020 1 0
User2 03/11/2020 2 0
我用cumsum
df.groupby("user").cumsum()
但我不知道如何检查仅过去 20 天的日期和累计。
【问题讨论】:
-
使用滚动和示例代码
series.rolling(20).sum()