from sklearn import preprocessing
la = preprocessing.LabelEncoder()
categories = ['健康','军事','产业','领导', '体育','政治','教育']
la.fit(categories)
res = la.transform(categories)
res
结果:
array([2, 3, 0, 6, 1, 4, 5], dtype=int64)
LabelEncoder()会在内部对类别进行重新排序, 并不是输入的顺序, 所以当输出的列是类别时, 一定要重新进行编码, 否则得到的全是打乱的顺序
categories_id = la.classes_
print("重新排序:", categories_id)
for i in res:
print(categories_id[i])