计算滚动(平均差)^2 pandas
Calculate the rolling (mean difference)^2 pandas
您好,我正在尝试使用 3 天滚动平均值在数据框中创建一个 'mean difference squared' 列。
明智的结果我想从上到下获得具有以下值的第 3 列(NaN、NaN、26、8、8、8),例如 26 计算为 (1-5)^2 + ( 6-5)^2 + (8-5)^2,均方值8开始(6-8)^2....以此类推。
我已经写了前两行代码,不知道如何写更多的代码才能达到预期的效果。任何帮助表示赞赏。
df = pd.DataFrame({'Data':[1, 6, 8, 10, 12, 14]})
df['mean'] = df.rolling(window=3).mean()
df['mean difference_squared'] = ........
你的情况
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
您好,我正在尝试使用 3 天滚动平均值在数据框中创建一个 'mean difference squared' 列。
明智的结果我想从上到下获得具有以下值的第 3 列(NaN、NaN、26、8、8、8),例如 26 计算为 (1-5)^2 + ( 6-5)^2 + (8-5)^2,均方值8开始(6-8)^2....以此类推。
我已经写了前两行代码,不知道如何写更多的代码才能达到预期的效果。任何帮助表示赞赏。
df = pd.DataFrame({'Data':[1, 6, 8, 10, 12, 14]})
df['mean'] = df.rolling(window=3).mean()
df['mean difference_squared'] = ........
你的情况
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