带有填充的熊猫fillna会增加噪音

问题描述

我正在尝试从pandas DataFrame中的列中删除异常值。

这是我的变量最初的样子(带有明显的异常值):

enter image description here

然后,我决定删除所有变化为+/- 3的内容(因为我知道应该不会有太大的变化):

这有效,并且让我用NaN代替了尖峰:

enter image description here

但是,每当我尝试用以前的观察结果替换现在缺少的值时,我都会以某种方式返回一些峰值!

enter image description here

有人会知道我在做什么错吗?

这是完整的代码(在不定期的while循环中):

df = pd.DataFrame({'soc': [38.0,38.0,127.0,66.48,55.8,38.0]})
while (abs(df['soc'].diff()) > 3).any():
    df['soc'] = np.where(abs(df['soc'].diff()) > 3,np.nan,df['soc'])
    df['soc'].fillna(method='ffill',inplace=True)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)