Pandas中rolling.mean()额外参数弃用:如何复刻旧版本行为?
解决Pandas 1.5+中Rolling.mean(skipna=False)警告并复刻旧行为
问题本质:Pandas 1.5+调整了滚动窗口方法的参数规则,
skipna参数不再能传递给mean(),必须放到rolling()方法里,继续原写法会触发弃用警告,后续版本还会报错。1:1复刻旧行为的代码修改:
原代码:df.rolling(n).mean(skipna=False)修改为:
df.rolling(n, skipna=False).mean()行为匹配验证:
旧版Pandas 1.2.3中,skipna=False的作用是只要滚动窗口里有缺失值,均值结果就返回NaN。把参数移到rolling()后,新版本的计算逻辑完全和旧版一致,窗口内只要存在NaN,均值就输出NaN,完美复刻原行为。
内容的提问来源于stack exchange,提问作者Neo
相关产品推荐
相关产品推荐

