首页 > 解决方案 > 使用 SimpleImputer 处理丢失数据时出现 TypeError

问题描述

我正在尝试使用来自 sklearn.imputer 的 SimpleImputer 处理我的数据集中丢失的数据,我的代码如下:

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean', verbose=0)
imputer = imputer.fit(X[:,1:3])
X[:,1:3] = imputer.transform(X[:,1:3])

当 imputer.fit 行执行时,我得到以下 TypeError :

发生异常:TypeError '(slice(0, None, None), slice(1, 3, None))' is an invalid key

标签: python-3.xmachine-learningscikit-learnmissing-data

解决方案


使用 iloc/loc 可以解决上述错误,如下所示:

 from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean', verbose=0)
imputer = imputer.fit(X.iloc[:,1:3])
X.iloc[:,1:3] = imputer.transform(X.iloc[:,1:3])

这现在有效!


推荐阅读