是否可以在 sklearn 管道中更改 Pandas 列数据类型?

Bel*_*a92 1 machine-learning scikit-learn sklearn-pandas

我使用的 Sklearn 管道有多个转换器,但初始转换器之一返回数字类型,而连续的转换器采用对象类型变量。

基本上我需要挤进一个:

data[col] = data[col].astype(object)
Run Code Online (Sandbox Code Playgroud)

对于管道中所需的列。

有什么办法吗?

注意:我正在使用功能引擎转换器。

thu*_*v89 6

是的,您可以使用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]}))
Run Code Online (Sandbox Code Playgroud)