我有一個看起來像這樣的數據框:Date | Value. 2020-03-18 10 2020-03-19 20 2020-03-20 30 2020-03-21 25 2020-03-22 35 2020-03-23 50 2020-03-24 1900000 2020-03-25 1200000 2020-03-26 50 2020-03-27 25 2020-03-28 35 2020-03-29 50 2020-03-30 25 2020-03-31 35 ... 2021-01-31 45 value我用先前的非異常值替換列中的異常值的最快方法是什么?我需要注意不要簡單地將異常值替換為先前的數字,因為如果先前的值也是異常值(如 中所示2020-03-24),它會搞砸。非常感謝你的幫助!
1 回答

叮當貓咪
TA貢獻1776條經驗 獲得超12個贊
正如所評論的,您的樣本數據沒有異常值。但是,根據您的邏輯,您可以執行以下操作:
std, mean = df['Value'].agg(['std','mean'])
df['Value'] = df['Value'].where(df['Value'].between(mean-3*std, mean+3*std)).ffill()
添加回答
舉報
0/150
提交
取消