python 对数据集的缺失值补全方法 sklearn.preprocessing.Imputer

1、官方说明

sklearn.preprocessing.Imputer 用于对数据中的缺失值进行补全,支持“均值(mean)”、“中值(median)”、“众数(most_frequant,也就是mode)”三种数值替换数据集中的缺失值(numpy.nan、NaN等)

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.Imputer.html

参数:

(1)missing_values:可选参数,整数或“NaN”,默认为“NaN”,对于编码为 np.nan 的缺失值,使用字符值"NaN"

(2)strategy:可选参数,替换的目标数值,支持“均值(mean)”、“中值(median)”、“众数(most_frequant,也就是mode),默认为平均值

(3)axis:可选参数,整数,支持“沿列(0)或沿行(1)计算 strategy 中使用的替换值”,默认为

(4)verbose:可选参数,整数,默认为 0

(5)copy:可选参数,布尔值,默认为 True

方法:

(1)fit(self, X[,y]):在数据集上拟合插值器

(2)fit_transform(self, X[,y]):拟合数据,并转换

(3)get_params(self[,deep]):获得该插值器的参数

(4)set_params(self,\*\*params):设置该插值器的参数

(5)transform(self,X):插值数据集 X 中的缺失值

2、实例

from sklearn.preprocessing import Imputer
import numpy as np

imputer = Imputer(missing_values='NaN', strategy="mean", axis=0)

duty_data = [[1,2,np.nan],[4,5,6],[7,np.nan,9],[10,11,12],[np.nan,14,15]]

imputed_data = imputer.fit_transform(duty_data)

print(imputed_data)

[[ 1.   2.  10.5]
 [ 4.   5.   6. ]
 [ 7.   8.   9. ]
 [10.  11.  12. ]
 [ 5.5 14.  15. ]]

 

你可能感兴趣的:(Machine,Learning)