【问题标题】:Calculate the rolling (mean difference)^2 pandas计算滚动(平均差)^2 熊猫
【发布时间】:2019-11-19 12:17:55
【问题描述】:

您好,我正在尝试使用滚动 3 天平均值在数据框中创建一个“均差平方”列。

结果明智我想从上到下(NaN、NaN、26、8、8、8)获得具有以下值的第 3 列,其中 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'] = ........

【问题讨论】:

    标签: pandas mean difference rolling-computation


    【解决方案1】:

    你的情况

    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
    

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 2018-02-08
      • 2015-01-12
      相关资源
      最近更新 更多