十七、数据预处理(一)

一、缺失值处理

缺失值就是由某些原因导致部分数据为空,对于为空的这部分数据我们一般有两种处理方式,一种是删除,即把含有缺失值的数据删除,另一种是填充,即把确实的那部分数据用某个值代替。

1、缺失值查看

对缺失值进行处理,首先要把缺失值找出来,也就是看哪列有缺失值。

(1)Excel实现

在Excel中我们先选中一列没有缺失值的数据,看一下这一列数据共有多少个,然后把其他列的计数与这一列进行对比,小于这一列数据个数的就代表数据个数的就代表有缺失值,差值就是缺失个数。

如果想看整个数据表中每列数据的缺失情况,则要挨个选中每一列去判断该列是否有缺失值。

如果数据不是特别多,可利用定位调教查找,在定位条件对话框中选择空值,单击确定就会把所有的空值选中。

(2)Python实现

在Python中直接调用info()方法就会返回每一列的缺失情况。

Python中缺失值一般用NaN表示,还可以用isnull()方法来判断哪个值是缺失值,如果是缺失值则返回True,如果不是缺失值则返回False。

2、缺失值删除

缺失值分为两种,一种是一行中某个字段是缺失值;另一种是一行中的字段全部为缺失值,即为一个空白行。

(1)Excel实现

在Excel中,这两种缺失值都可以通过在定位条件对话框中选择空值找到。

这样含有缺失值的部分就会被选中,包括某个具体的单元格及一整行,然后单击鼠标右键在弹出的删除对话框中U型安泽删除郑航选项,并单击确定按钮即可实现整行的删除。

(2)Python实现

在Python中,利用dropna()方法,dropna()方法默认删除含有缺失值的行,也就是只要某一行有缺失值就把这一行删除。

运行dropna()方法以后,删除含有NaN值的行,返回删除后的数据。

如果想删除空白行,只要给dropna()方法传入一个参数how = "all"即可,这样就会只删除那些全为空值的行,不全为空值的行就不会被删除。

3、缺失值填充

(1)Excel实现

在Excel中,缺失值的填充和缺失值删除一样,利用的也是定位条件,先把缺失值找到,然后在第一个缺失值的单元格中输入要填充的值,最常用的就是用0填充,输入以后按Ctrl+enter 组合键就可以对所有缺失值进行填充。

除了用0填充、平均值填充、众数填充们还有向前填充、向后填充等方式。

(2)Python实现

在Python中,利用fillna()方法对数据表中华的所有缺失值进行填充,在fillna后面的括号中输入要填充的值即可。

在Python中也可以按不同列填充,只要在fillna()方法的括号中指明列明即可。

二、重复值处理

重复数据就是同样的记录有多条,对于这样的数据我们一般做删除处理。

1、Excel实现

在Excel中依次单击菜单栏中的数据>数据工具>删除重复值,就可以删除重复数据了。

Excel的删除重复值默认针对所有值进行重复值判断。

2、Python实现

在Python中利用drop——duplicates()方法,该方法默认对所有值进行重复值判断,且默认保留第一个(行)值。也可以只针对某一列或某几列进行重复值删除的判断,只需要在drop_duplicates()方法中指明要判断的列名即可。

也可以利用多列去重,只需要把多个列名以列表的形式传给参数subset()即可。

还可以自定义删除重复项时保留哪个,默认保留第一个,也可以设置保留最后一个,或者全部不保留。通过传入参数keep进行设置,参数keep默认值是first,即保留第一个值,也可以是last,保留最后一个值,还可以是FALSE,即把重复值全部删除。

三、异常值的检测与处理

异常值就是相比正常数据而言过高或过低的数据。

1、异常值检测

要处理异常值首先要检测,也就是发现异常值,发现异常值的方式主要有以下三种。

(1)根据业务经验划定不同指标的正常范围,超过该范围的值算作异常值。

(2)通过绘制箱形图,把大于(小于)箱形图上边缘(下边缘)的点成为异常值。

(3)如果数据服从正态分布,则可以利用3σ原则:如果一个数值与平均值之间的偏差超过3倍标准差,那么我们就认为这个值是异常值。

2、异常值处理

对于异常值一般有以下几种处理方式。

(1)最常用的处理方式就是删除。

(2)把异常值当作缺失值来填充。

(3)把异常值当作特殊情况,研究异常值出现的原因。

1、Excel实现

在Excel中,删除异常值只要通过筛选把异常值对应的行找出来,然后单击鼠标右键选择删除行即可。

对异常值进行填充,其实就是对异常值进行替换,同样通过筛选功能吧异常值先找出来,然后把这些异常值替换成要填充的值即可。

2、Python实现

在Python中,删除异常值用到的方法和Excel中的原理类似,Python中是通过过滤的方法对异常值进行删除。对异常值进行填充,就是对异常值进行替换,利用replace()方法可以对特定的值进行替换。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值