Python Pandas:如何删除一列中的离群值,并用先前的值替换(假设它们不是离群值)?

问题描述 投票:0回答:1

我有一个看起来像这样的数据框:

日期|值。2020-03-18 102020-03-19 202020-03-20 302020-03-21 252020-03-22 352020-03-23 502020-03-24 19000002020-03-25 12000002020-03-26 502020-03-27 252020-03-28 352020-03-29 502020-03-30 252020-03-31 35...2021-01-31 45

对我来说,用先前的非离群值替换“值”列中的离群值最快的方法是什么?

我需要注意不要简单地用先验值代替离群值,因为如果先验值也是离群值,它会弄乱(如2020-03-24所示)。

非常感谢您的帮助!

python pandas dataframe outliers
1个回答
0
投票

如前所述,您的样本数据没有异常值。但是,根据您的逻辑,您可以执行:

std, mean = df['Value'].agg(['std','mean'])

df['Value'] = df['Value'].where(df['Value'].between(mean-3*std, mean+3*std)).ffill()
© www.soinside.com 2019 - 2024. All rights reserved.