按月平均值和标准差进行分组和滚动

问题描述 投票:0回答:1
data = {‘A’:list(range(250)), ‘B’: list(range(251,501))}
dates = pd.date_range(‘2023-01-17’, period=250, freq=‘D’)
df = pd.DataFrame(data, index=dates)

我想要滚动 2 个日历月,意思如下:

                 A      B
2023-02-28    21.0  272.0
2023-03-31    44.0  295.0
2023-04-30    73.0  324.0
…
2023-08-31   222.5  473.5

并滚动 2 个日历月标准发展

                  A        B
2023-02-28   12.556   12.556
2023-03-31   17.175   17.175
2023-04-30   17.175   17.175
…
2023-08-31   15.732   15.732

注意:任何列都可以有

NaN

python-3.x pandas rolling-computation
1个回答
0
投票

为了实现你想要的,我认为你只需要每月重新采样数据并应用滚动窗口 2 来计算平均值和标准差。尝试使用以下代码:

rolling_mean = df.resample('M').mean().rolling(window=2).mean()
rolling_std = df.resample('M').mean().rolling(window=2).std()
© www.soinside.com 2019 - 2024. All rights reserved.