代码示例:
import pandas as pd
df = pd.DataFrame({'group': ['A', 'A', 'B', 'B'], 'value': [1, 2, 3, 4]})
df['rolling_mean'] = df.groupby('group')['value'].rolling(window=2, min_periods=1).mean().reset_index(drop=True)
print(df)
以上代码中,我们使用了pandas的rolling和groupby方法来计算每个分组内的滑动平均值。rolling方法用于计算滑动窗口内的数据,groupby方法用于对数据进行分组操作。
首先,我们将数据按照分组group进行groupby操作,然后使用rolling方法计算每个分组内的滑动平均值。在rolling方法中,我们设置了窗口大小window为2,最小观测数min_periods为1,计算出每个窗口内的均值。最后,我们通过reset_index方法将结果重置索引并加入原数据框中。
运行以上代码,我们可以得到以下输出:
group value rolling_mean
0 A 1 1.0
1 A 2 1.5
2 B 3 3.0
3 B 4 3.5
从输出结果中,我们可以看到每个分组内的滑动平均值被正确计算出来了,因此验证代码的正确性。