OneHotEncoder

原数据:

OneHotEncoder_第1张图片

data中的division属性为无顺序字符串,转独热编码。

步骤

  1. 建立编码器
  2. 训练并转换
  3. 原数据删除要转独热编码的属性
  4. 原数据合并转换后的数据

1. 建立编码器

from sklearn.preprocessing import LabelEncoder,OneHotEncoder
division_ohe = OneHotEncoder()

2. 训练并转换

df = division_ohe.fit_transform(data['division'].values.reshape(-1,1)).toarray()
#注:toarray()必不可少

如果是只对一个属性进行独热编码的话,需要将一维数据转换为二维,即data['division'].values.reshape(-1,1),如果是多个属性的话则不需要。

3.原数据删除要转独热编码的属性

data.drop(['division'],axis = 1,inplace = True)

4.原数据合并转换后的数据

#将df转换为DataFrame,也可加上列名
df = pd.DataFrame(df)
#join
data = data.join(df)

你可能感兴趣的:(机器学习)