是否可以在 sklearn 管道中更改 pandas 列数据类型?
Is it possible to change pandas column data type within a sklearn pipeline?
我正在使用的 Sklearn 管道有多个转换器,但初始转换器之一 returns 数字类型 并且连续的转换器采用 对象类型 变量。
基本上我需要挤进一个:
data[col] = data[col].astype(object)
用于管道中所需的列。
有什么办法吗?
注意:我正在使用 Feature-engine 变形金刚。
是的,您可以使用 sklearn.preprocessing.FunctionTransformer
。一个简单的例子是,
def to_object(x):
return pd.DataFrame(x).astype(object)
fun_tr = FunctionTransformer(to_object)
y = fun_tr.fit_transform(pd.DataFrame({'a':[1,2,3]}))
我正在使用的 Sklearn 管道有多个转换器,但初始转换器之一 returns 数字类型 并且连续的转换器采用 对象类型 变量。
基本上我需要挤进一个:
data[col] = data[col].astype(object)
用于管道中所需的列。
有什么办法吗?
注意:我正在使用 Feature-engine 变形金刚。
是的,您可以使用 sklearn.preprocessing.FunctionTransformer
。一个简单的例子是,
def to_object(x):
return pd.DataFrame(x).astype(object)
fun_tr = FunctionTransformer(to_object)
y = fun_tr.fit_transform(pd.DataFrame({'a':[1,2,3]}))