如何使用 sklearn 对 CSV 文件中的多列进行一次热编码?
Posted
技术标签:
【中文标题】如何使用 sklearn 对 CSV 文件中的多列进行一次热编码?【英文标题】:How to one hot encode multiple columns in CSV file using sklearn? 【发布时间】:2020-10-28 06:17:38 【问题描述】:我的 CSV 文件中有以下代码用于对一列进行一次热编码。
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 文件中的多个列进行一次热编码,我该怎么做?
【问题讨论】:
【参考方案1】:如果我没记错的话,transformers=[] 的第三个参数是一个热编码的列索引列表。例如,如果您想对索引为 0 和 1 的列进行一次热编码,则第三行可能如下所示:
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0,1])], remainder='passthrough')
我发现此链接很有帮助:https://machinelearningmastery.com/columntransformer-for-numerical-and-categorical-data/
【讨论】:
以上是关于如何使用 sklearn 对 CSV 文件中的多列进行一次热编码?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 从 csv 文件中的字符串搜索中打印多列
如何按范围对csv文件中的列进行分组并使用python绘制直方图?
如何使用 Qt 将两个单列 csv 文件合并为一个多列 csv 文件? [关闭]