这是我的数据帧
我想使用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)
其中CCD_ 3可以是列索引的列表。因此,如果要转换索引4和5处的列,请将列指定为[4, 5]
,如下所示:
ColumnTransformer(
transformers=[('encoder', OneHotEncoder(), [4, 5])], # <-- here
remainder='passthrough'
)