为啥 SimpleImputer 的 fit_transform 不适用于 google colab 中的数据框?

Posted

技术标签:

【中文标题】为啥 SimpleImputer 的 fit_transform 不适用于 google colab 中的数据框?【英文标题】:Why is SimpleImputer's fit_transform not working for dataframe in google colab?为什么 SimpleImputer 的 fit_transform 不适用于 google colab 中的数据框? 【发布时间】:2020-04-27 00:23:08 【问题描述】:
imp = SimpleImputer(missing_values=np.nan, strategy='most_frequent')
weather_test = imp.fit_transform(weather_test)

当 weather_test 是 pandas 数据框时,上面的代码在 google colab 中引发错误。 但是当我将 weather_test 更改为 numpy 数组时,它可以工作。

imp = SimpleImputer(missing_values=np.nan, strategy='most_frequent', verbose=0)
weather_test = imp.fit_transform(np.array(weather_test))

【问题讨论】:

您介意添加完整的错误吗? 【参考方案1】:

Scikit-learn 的 API 方法通常假设输入是一个 numpy 数组而不是 pandas 数据帧。有关如何将此功能与数据框一起使用的示例,请参阅How to use sklearn fit_transform with pandas and return dataframe instead of numpy array?

【讨论】:

以上是关于为啥 SimpleImputer 的 fit_transform 不适用于 google colab 中的数据框?的主要内容,如果未能解决你的问题,请参考以下文章

sklearn的SimpleImputer和Imputer的区别

使用 SimpleImputer 中的 .fit() 进行插补时出错

Sklearn 的 SimpleImputer 不能在管道中工作?

如何在 scikit-learn 管道中的 CountVectorizer 之前包含 SimpleImputer?

sklearn.compose.make_column_transformer():在一个数据帧列上一步使用 SimpleImputer() 和 OneHotEncoder()

使用 MatplotLib 可视化来自 SKlearn Kmeans 的稀疏输入