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


(2)Python实现
在Python中,我们利用的是函数dropna ( ) 方法,函数dropna ( ) 方法默认删除含有缺失值的行,也就是只要某一行有缺失值就把这一行删除 。
运行函数dropna ( ) 方法以后,删除含有NaN值的行,返回删除后的数据 。
如果想删除空白行,只要给函数dropna ( ) 方法传入一个参数 how = all 即可,这样就会只删除那些全为空值的行,不全为空值的行就不会被删除 。
上表第二行中只有性别这个字段是空值,所以在利用函数dropna( how = “all” )的时候并没有删除第二行,只是把全为NaN值的第三行删掉了 。
3、缺失值的填充
上面介绍了数据处理缺失值删除的方法,但是数据是宝贵的,一般情况下只要数据缺失比例不是过高(不大于30%),尽量还是不要做删除处理,而是选择做填充 。
(1)Excel实现
在Excel中,缺失值的填充和缺失值删除一样,利用的也是定位条件,先把缺失值找到,然后在第一个缺失值的单元格中输入要填充的值,最常用的就是用0填充,输入以后按Ctrl Enter组合键就可以对所有缺失值进行填充处理 。
缺失值填充前后的对比如下图所示:
在数据中年龄用数字填充合适,但是性别用数字填充就不太合适,那么可不可以分开填充呢?答案是可以的,选中想要被填充的那一列,按照填充全部数据的方式进行填充就可以了,只不过如果想要要填充几列,则需要执行几次这样的操作 。
上图是数据填充前后的对比,年龄这一列我们使用平均值进行填充,性别这一列我们使用众数进行填充 。
除了用0填充、平均值填充、众数(大多数)填充,还有向前填充(即用缺失值的前一个非缺失值填充,比如上个例子中编号A3 对应的缺失年龄的前一个非缺失值就是16)、向后填充(与向前填充对应)等方式 。
(2)Python实现
在Python中,我们利用的 fillna ( ) 方法对数据表中的所有缺失值进行填充,在fillna ( )后面的括号中输入要填充的值即可 。
在Python中我们也可以按不同列进行填充,只要在函数fillna ( ) 方法的括号中指明列名即可 。
上面的代码中只针对性别这一列进行了填充处理,数据中其他列均未进行任何更改 。
也可以同时对多个列填充不同的值:
二、重复值处理
重复数据就是同样的记录有多条,对于这样的数据我们一般做删除处理 。
假设你是一名数据分析师,你的主要工作是分析你所在公司的销售情况,现有公司2018年8月的销售明细(已知一条明细对应一笔成交记录信息),你想看一下2018年8月公司整体成交量是多少,最简单的方式就是看一下这个月有多少条成交明细 。但是这里可能会有重复的成交记录存在,所以要先做删除重复项的处理 。

猜你喜欢