gpt4 book ai didi

pandas - DataFrame:使用滚动、均值和移位的移动平均值,同时忽略 NaN

转载 作者:行者123 更新时间:2023-12-02 02:08:52 24 4
gpt4 key购买 nike

我有一个数据集,比方说,420x1。现在我要计算过去 30 天的移动平均值,不包括当前日期。

如果我执行以下操作:

df.rolling(window = 30).mean().shift(1)

我的 df 结果在一个包含大量 NaN 的窗口中,这可能是由原始数据帧中各处的 NaN 引起的(30 个数据点内有 1 个 NaN 导致 MA 为 NaN)。

是否有一种方法可以忽略 NaN(避免 apply-method,我在大数据上运行它,因此性能是关键)?我不想用 0 替换该值,因为这可能会扭曲结果。

这同样适用于移动标准差。

最佳答案

例如,您可以添加 min_periods,并且 NaN 消失

df=pd.DataFrame({'A':[1,2,3,np.nan,2,3,4,np.nan]})
df.A.rolling(window=2,min_periods=1).mean()

Out[7]:
0 1.0
1 1.5
2 2.5
3 3.0
4 2.0
5 2.5
6 3.5
7 4.0
Name: A, dtype: float64

关于pandas - DataFrame:使用滚动、均值和移位的移动平均值,同时忽略 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49684734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com