我试图获得相同 ID 的过去 3 行的滚动总和,但滞后 1 行。我的尝试看起来像下面的代码,我是列。必须有一种方法可以做到这一点,但这种方法似乎不起作用。
for i in df.columns.values:
df.groupby('Id', group_keys=False)[i].rolling(window=3, min_periods=2).mean().shift(1)
id dollars lag
1 6 nan
1 7 nan
1 6 6.5
3 7 nan
3 4 nan
3 4 5.5
3 3 5
5 6 nan
5 5 nan
5 6 5.5
5 12 5.67
5 7 8.3