下面的代码
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数组?有没有scikit-learn实现?
4条答案
按热度按时间zf9nrax11#
SimpleImputer
返回一个转换后的数组,就像docs中提到的那样。你可以构造一个新的数组,或者用插补器的结果修改数组:字符串
8ehkhllq2#
如果你想保留列(例如在后面的步骤中使用ColumnTransformers),你可以在
SimpleImputer
周围创建一个 Package 器:字符串
cld4siwp3#
一般来说,
sklearn
中的所有转换函数都返回numpy
数组。你需要习惯使用字符串
cpjpxq1n4#
有一种更简单的方法:使用scikit-learn中的set_output misc方法,如下所示:
字符串