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