我想使用 sklearn OneHotEncoder 和 Column Transformer 对 2 列进行编码:行和名称。但是,我只能使用此代码对一列进行编码。
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
X = new_df_cl.iloc[:,:-2].values
lines = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [4])], remainder='passthrough')
X = np.array(lines.fit_transform(X))
转换器列表中元组的语法ColumnTransformer
是
(name, transformer, columns)
wherecolumns
可以是列索引列表。因此,如果要转换索引 4 和 5 处的列,请按[4, 5]
如下方式指定列:
ColumnTransformer(
transformers=[('encoder', OneHotEncoder(), [4, 5])], # <-- here
remainder='passthrough'
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句