Python数据处理:五分钟搞定异常值和重复值

一、异常值

处理异常值之前,需要明确哪些是异常值。有很多种规则和方法来筛选异常值,这里我们以Z标准化得到的阈值作为判断标准。

利用正态分布定位异常值

Z标准化会将数据转换为标准差为1,均值为0且符合正态分布的数据序列,一般来说,99%以上的数据都聚集在均值周围三个标准差距离范围内。这里我们以两个标准差为界,超出则算作异常值。

z标准化的公式为:

Python数据处理:五分钟搞定异常值和重复值

 

Python数据处理:五分钟搞定异常值和重复值

 

Python数据处理:五分钟搞定异常值和重复值

 

可以看到,在第一列中,最后一个数字150距离均值超过了两个标准差,符合异常值的标准。

有些时候,在不清楚用什么边界来判断异常值时,我们也可以使用一些数学模型来判断异常值,比如聚类算法。

定位了异常值之后,常见的处理有删除或者使用边界值、均值等来替换。

二、重复值

重复值也会对我们的分析造成困扰。在pandas中,我们可以使用duplicated()方法来定位重复值,使用drop_duplicated()方法来删除重复数据。

在删除重复数据时,我们可以指定是根据其中的一列来判断重复还是根据多列判断重复。当我们指定多列时,只有当每一列的取值都相同时才会被认为是重复数据。

Python数据处理:五分钟搞定异常值和重复值

 

需要注意的是,重复数据并不总是没有意义的,也并不总是需要删除的。需要根据实际应用场景来判断到底执行什么操作。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值