您好,我正在尝试使用滚动的3天平均值在数据框中创建一个“均值差平方”列。
结果我想从上到下得到第三列(NaN,NaN,26,8,8,8),其中26例如计算为(1-5)^2 + (6-5)^2 + (8-5)^2,平均平方值8从(6-8)^2....and开始,依此类推。
我已经写了前两行代码,不知道如何再写几行才能达到预期的效果。感谢您的帮助。
df = pd.DataFrame({'Data':[1, 6, 8, 10, 12, 14]})
df['mean'] = df.rolling(window=3).mean()
df['mean difference_squared'] = ........
发布于 2019-07-10 06:15:12
在你的情况下
df.Data.rolling(window=3).apply(lambda x : sum((x-x.mean())**2),raw=True)
Out[173]:
0 NaN
1 NaN
2 26.0
3 8.0
4 8.0
5 8.0
Name: Data, dtype: float64
https://stackoverflow.com/questions/56961072
复制相似问题