为了账号安全,请及时绑定邮箱和手机立即绑定

Python Pandas:如何删除列中的异常值,并将它们替换为先验值(假设它们不是异常值)?

Python Pandas:如何删除列中的异常值,并将它们替换为先验值(假设它们不是异常值)?

阿晨1998 2022-10-18 17:10:15
我有一个看起来像这样的数据框: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()



查看完整回答
反对 回复 2022-10-18
  • 1 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号