python盖帽法_干货:用Python进行数据清洗,这7种方法你一定要掌握

本文介绍了Python中进行数据清洗的7种关键方法,包括处理重复值、缺失值和噪声值。对于重复值,使用duplicated和drop_duplicates方法;对于缺失值,通过fillna方法结合业务理解进行填补;而对于噪声值,介绍了盖帽法和分箱法。通过这些技巧,可以有效提升数据预处理的质量。
摘要由CSDN通过智能技术生成

01 重复值处理

数据录入过程、数据整合过程都可能会产生重复数据,直接删除是重复数据处理的主要方法。pandas提供查看、处理重复数据的方法duplicated和drop_duplicates。以如下数据为例:

>sample = pd.DataFrame({'id':[1,1,1,3,4,5],

'name':['Bob','Bob','Mark','Miki','Sully','Rose'],

'score':[99,99,87,77,77,np.nan],

'group':[1,1,1,2,1,2],})

>sample

group  id   name  score

0      1   1    Bob   99.0

1      1   1    Bob   99.0

2      1   1   Mark   87.0

3      2   3   Miki   77.0

4      1   4  Sully   77.0

5      2   5   Rose    NaN

发现重复数据通过duplicated方法完成,如下所示,可以通过该方法查看重复的数据。

>sample[sample.duplicated()]

group  id   name  score

1      1   1    Bob   99.0

需要去重时,可drop_duplicates方法完成:

>sample.drop_duplicates()

group  id   name  score

0      1   1    Bob   99.0

2      1   1   Mark   87.0

3      2   3   Miki   77.0

4      1   4  Sully   77.0

5      2   5   Rose    NaN

drop_duplicates方法还可以按照某列去重,例如去除id列重复的所有记录:

>sample.drop_duplicates('id')

group  id   name  score

0      1   1    Bob   99.0

3      2   3   Miki   77.0

4      1   4  Sully   77.0

5      2   5   Rose    NaN

02 缺失值处理

缺失值是数据清洗中比较常见的问题,缺失值一般由NA表示,在处理缺失值时要遵循一定的原则。

首先,需要根据业务理解处理缺失值,弄清楚缺失值产生的原因是故意缺失还是随机缺失,再通过一些业务经验进行填补。一般来说当缺失值少于20%时,连续变量可以使用均值或中位数填补;分类变量不需要填补,单算一类即可,或者也可以用众数填补分类变量。

当缺失值处于20%-80%之间时,填补方法同上。另外每个有缺失值的变量可以生成一个指示哑变量,参与后续的建模。当缺失值多于80%时,每个有缺失值的变量生成一个指示哑变量,参与后续的建模,不使用原始变量。

在下图中展示了中位数填补缺失值和缺失值指示变量的生成过程。

▲图5-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值