【发布时间】:2020-06-30 22:20:31
【问题描述】:
我的数据集的第 8 列有分类数据。我希望对这些数据进行编码,并且我正在使用 ColumnTransformer。我第一次尝试使用这种方法时使用了代码:
from sklearn.preprocessing import OneHotEncoder
from sklearn.preprocessing import LabelEncoder
from sklearn.compose import ColumnTransformer
#encoding categorical data for dept column(independent variables)
ct = ColumnTransformer(transformers=[('one_hot_encoder',OneHotEncoder(categories='auto'), [0])],
remainder='passthrough')
X = np.array(ct.fit_transform(X), dtype=np.float)
请注意,我正在使用 LabelEncoder 对我的因变量进行编码,并且效果很好。现在的问题是,当我第一次执行此代码时没有错误,但是当我将列索引更改为 [8] 时,我得到一个与索引 [0] 有关的错误。 ValueError: 无法将字符串转换为浮点数:'Emp ID' 我认为这引发了两个问题,首先,我的列标题没有被这样读取,其次,索引没有被更改为 8。
我已添加:drop='first' 希望删除列 [0] 但无济于事
【问题讨论】:
-
请包含您的表格的一些样本/结构
X
标签: python scikit-learn