猿问

OneHotEncoder - 仅编码一些分类变量列

假设我有一个带有以下列名称的 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以前用过,没有这个问题。


宝慕林4294392
浏览 106回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答