当前位置: 代码迷 >> 综合 >> python 对数据集的缺失值补全方法 sklearn.preprocessing.Imputer
  详细解决方案

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

热度:16   发布时间:2024-01-14 06:57:43.0

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