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. ]]