我有一个数据帧,其中包含100个对象的时间序列:

object  period  value
1       1       24
1       2       67
...
1       1000    56
2       1       59
2       2       46
...
2       1000    64
3       1       54
...
100     1       451
100     2       153
...
100     1000    21

我想使用value列的窗口10计算移动平均值。我想我必须做些类似的事情
df.groupby('object').apply(lambda ~calculate MA~)

然后按对象将此系列合并到原始数据帧?无法找出确切的命令

最佳答案

您可以将rollingtransform结合使用:

df['moving'] = df.groupby('object')['value'].transform(lambda x: x.rolling(10, 1).mean())
1中的rolling的周期数最少。

09-25 21:45