3
我有一个数据框,其中每个id记录1个或多个事件。对于每个事件,记录ID,度量x和日期。事情是这样的:大熊猫时间累积总和按组
import pandas as pd
import datetime as dt
import numpy as np
x = range(0, 6)
id = ['a', 'a', 'b', 'a', 'b', 'b']
dates = [dt.datetime(2012, 5, 2),dt.datetime(2012, 4, 2),dt.datetime(2012, 6, 2),
dt.datetime(2012, 7, 30),dt.datetime(2012, 4, 1),dt.datetime(2012, 5, 9)]
df =pd.DataFrame(np.column_stack((id,x,dates)), columns = ['id', 'x', 'dates'])
我希望能够在数据集中设置的回溯期(即70天)和计算,对于每一行,x的累计总和为ID前述任一事件并且在期望的回顾(不包括用于执行计算的行的x)内。 应该结束了看起来像:
id x dates want
0 a 0 2012-05-02 00:00:00 1
1 a 1 2012-04-02 00:00:00 0
2 b 2 2012-06-02 00:00:00 9
3 a 3 2012-07-30 00:00:00 0
4 b 4 2012-04-01 00:00:00 0
5 b 5 2012-05-09 00:00:00 4
谢谢,这似乎做到了!如果我想将70作为过去函数的一个参数(即def past(g,lookback)),那么我将如何将该参数传递给.apply(过去)? – ADJ
它只是成为'apply'中的下一个参数。看到我编辑细节。 –
非常感谢卡尔! – ADJ