缺失处理(Imputer)
最常见、最简单的处理缺失数据的方法是个案剔除法,俗称删掉缺失数据, 在这种方法中如果任何一个变量含有缺失数据的话,就把相对应的个案从分析 样本中剔除。如果缺失值所占比例比较小的话,这一方法十分有效。然而,这 种方法却有很大的局限性。它是以减少样本量来换取信息的完备,丢弃了大量 隐藏在这些对象中的信息。 均值、中位数或众数插补,在该方法中,我们将变量的属性分为数值型和 非数值型来分别进行处理。如果缺失值是数值型的,就根据该变量在其他所有 对象的取值的平均值来填充该缺失的变量值;如果缺失值是非数值型的,则根 据统计学中的众数原理,对取值次数最多的值来补齐该缺失的变量值
import numpy as np
import pandas as pd
Country | Age | Salary | Purchased | |
---|---|---|---|---|
0 | France | 44.0 | 72000.0 | No |
1 | Spain | 27.0 | 48000.0 | Yes |
2 | Germany | 30.0 | 54000.0 | No |
3 | Spain | 38.0 | 61000.0 | No |
4 | Germany | 40.0 | NaN | Yes |
from sklearn.impute import SimpleImputer
imputer=SimpleImputer(missing_values=np.nan,strategy='mean')
imputer=imputer.fit(X[:,1:3])
X[:,1:3]=imputer.transform(X[:,1:3])