假设我有一个带有以下列名称的 Pandas 数据框:
'age'
(例如 33、26、51 等)
'seniority'
(例如“初级”、“高级”等)
'gender'
(例如“男性”、“女性”)
'salary'
(例如 32000、40000、64000 等)
我想将seniority
分类变量转换为一个热编码值。出于这个原因,我正在做以下事情:
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
data['seniority'] = label_encoder.fit_transform(data['seniority'])
from sklearn.preprocessing import OneHotEncoder
one_hot_encoder = OneHotEncoder(categorical_features=[1])
data = one_hot_encoder.fit_transform(data.values)
但是后来我收到了这个错误
ValueError: could not convert string to float: 'gender'
在线
data = one_hot_encoder.fit_transform(data.values)
但是,我已明确指定,categorical_features=[1]因此seniority对于这一热编码,只应考虑第1 ( )列。
如何修复此错误(例如删除“性别”列除外)?
我pandas.get_dummies以前用过,没有这个问题。
相关分类