繁体   English   中英

如何使用 sklearn 对 CSV 文件中的多个列进行一次热编码?

[英]How to one hot encode multiple columns in CSV file using sklearn?

我的 CSV 文件中有以下代码用于 One hot encoding 一列。

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0])], remainder='passthrough')
X = np.array(ct.fit_transform(X))

现在我想通过仅使用索引号而不是该列的名称来对 CSV 文件中的多个列进行热编码,我该怎么做?

如果我没记错的话,transformers=[] 的第三个参数是一个热编码的列索引列表。 例如,如果您想对索引为 0 和 1 的列进行一次热编码,则第三行可能如下所示:

ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0,1])], remainder='passthrough')

我发现这个链接很有帮助: https://machinelearningmastery.com/columntransformer-for-numerical-and-categorical-data/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM