如何使用 Sk-learn OneHotEncoder 对数据框中的两列或多列进行编码?
How to Encode two or more columns in a dataframe using Sk-learn OneHotEncoder?
Here is my dataframe
我想使用 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)
其中 columns
可以是列索引列表。因此,如果要转换索引 4 和 5 处的列,请将列指定为 [4, 5]
,如下所示:
ColumnTransformer(
transformers=[('encoder', OneHotEncoder(), [4, 5])], # <-- here
remainder='passthrough'
)
Here is my dataframe
我想使用 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)
其中 columns
可以是列索引列表。因此,如果要转换索引 4 和 5 处的列,请将列指定为 [4, 5]
,如下所示:
ColumnTransformer(
transformers=[('encoder', OneHotEncoder(), [4, 5])], # <-- here
remainder='passthrough'
)