简述数据预处理的常用操作 数据预处理方法和内容( 三 )


(1)Excel实现
在Excel中依次单击菜单栏中的数据>数据工具>删除重复值,就可以删除重复数据了,如下图所示:
数据删除前后的对比图如下:
Excel的删除重复值默认是针对所有值进行重复值判断,比如数据中有订单编号、客户姓名、唯一识别码(类似于身份证号的字段)、成交时间这四个字段,Excel会判断这四个字段是否都是相等的,只有都相等时才会做删除处理,并且会保留第一个值(第一行值) 。
你知道了公司2018年8月份成交明细以后,你想看一下2018年8月份总共有多少成交客户,且每个客户在2018年8月份首次成交的日期 。
查看客户数量只需要按客户的唯一识别码进行去重就可以了 。Excel默认是全选,我们可以取消全选,选择唯一识别码进行去重,这样只要唯一识别码重复就会被删除,如下图所示:
因为Excel默认会保留第一条记录,而我们又想获取每个客户较早成交日期,所以我们需要先对时间进行升序排序,让较早的日期排在前面 。这样在删除的时候就会保留较早的成交日期 。
删除前后的对比如下图所示:
(2)Python实现
在Python中我们利用drop_duplicates ( ) 方法,该方法默认对所有值进行重复值判断,且默认保留第一个值(或第一行值) 。
上面的代码是针对所有字段进行的重复值判断,我们同样也可以只针对某一列或某几列进行重复值删除的判断,只需要在drop_duplicates ( ) 方法中指明要判断的列名即可 。
也可以利用多列去重,只需要把多个列名以列表的形式传给参数subset即可 。比如按姓名和唯一识别码去重 。
还可以定义删除重复项时要保留哪个,默认是保留第一个,也可以默认保留最后一个,或者全部不保留 。通过传入参数keep进行设置,参数keep默认值是first,即保留第一个值;也可以是last,保留最后一个值;还可以是False,即把重复值全部去掉 。
三、异常值的检测与处理
异常值就是相比正常数据而言过高或者过低的数据,比如一个人的年龄是0岁或者100岁都算是一个异常值,因为这和实际情况差距过大 。
1、异常值检测
要处理异常值首先要检测,也就是发现异常值,发现异常值的方式主要有以下三种:
■根据业务经验划定不同指标的正常范围,超过该范围的值就可以算为异常值
■通过绘制箱型图,把大于(小于)箱型图上边缘(下边缘)的点称为异常值
■如果数据服从正太分布,则可以利用3σ 原则;如果一个数值与平均值之间的偏差超过3倍标准差,那么我们就认为这个值是异常值 。
箱形图如下图所示:
下图是正态分布图,我们把大于μ 3σ的值称为异常值 。

猜你喜欢