数据清洗一般包括以下几个步骤:
- 1、分析数据
- 2 、缺失值处理
- 3 、异常值处理
- 4 、去重处理
- 5 、噪音数据处理
一、分析数据
可以通过作图的方式,简单了解数据概况。
二、缺失值处理
1、直接删除(适合缺失值数量较小,并且是随机出现的,删除它们对整体数据影响不大)
2、使用全局常量填充(算法可能会把它识别为一个新的类别,很少使用)
3、使用均值或者中位数填充(对于正常分布的数据可以使用均值填充,如果数据是倾斜的,使用中位数填充可能更好)
4、插补法
5、建模法(回归等,比较常用)
三、异常值处理
识别异常值的方法有以下几种:
1、简单的统计分析
df.describe()
2、3∂原则
如果数据服从正态分布,在3∂原则下,异常值为一组测定值与平均值的偏差超过3倍标准差的值。如果数据服从正态分布,距离平均值3∂之外的值的出现的概率为P(|x-u|>3∂)<=0.003,属于极个别的小概率事件。如果数据不服从正态分布,也可以用远离平均值的多少倍标准差来描述。
3、箱型图分析
四分位数:Qi = i (n+1)/4,其中i={1,2,3}
四分位距:IQR=Q3-Q1
上限:Q3+1.5IQR,表示非异常范围内的最大值
下限:Q1-1.5IQR,表示非异常范围内的最小值
箱型图提供了识别异常值的一个标准:如果一个值小于Q1-1.5IQR或大于Q3+1.5IQR,则被称为异常值。
箱型图判断异常值的方法以四分位数和四分位距为基础,四分位数具有鲁棒性(25%的数据可以变得任意远并且不会干扰四分位数,所以异常值不能对这个标准施加影响,因此箱型图识别异常值比较客观)。
4、基于模型检测
首先建立一个模型,异常值是那些与模型不能完美拟合的数据。
5、基于距离
在对象之间定义邻近性度量,异常对象是那些远离其他对象的对象
6、基于密度
7、基于聚类
异常值的处理方法:
1、删除异常值
2、不处理
3、平均值替代
4、视为缺失值
四、去重处理
data.duplicated() ## 判断各行是否是重复行
data.drop_duplicates() ## 移除重复行
网友评论