【发布时间】:2020-09-23 06:16:27
【问题描述】:
以下代码
from sklearn.impute import SimpleImputer
import pandas as pd
df = pd.DataFrame(dict(
x=[1, 2, np.nan],
y=[2, np.nan, 0]
))
SimpleImputer().fit_transform(df)
返回
array([[1. , 2. ],
[2. , 1. ],
[1.5, 0. ]])
有没有办法使用返回 pandas 数据框而不是 numpy 数组的 imputer?是否有 scikit-learn 实现?
【问题讨论】:
-
pd.DataFrame(SimpleImputer().fit_transform(df)) -
这样的问题是列名丢失了,这在 scikit-learn 管道中效果不佳。
-
pandas 本身之外的大多数代码都使用
df.values,该数组派生自框架。
标签: python pandas numpy scikit-learn