是否可以在 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]}))