我有一个这样的数据框:
df = pd.DataFrame({'months': ['FEBRUARY', 'MARCH', 'MAY', 'DECEMBER', 'MAY']})
我想得到:
[['JANUARY', 1], ['FEBRUARY', 2], ['MARCH', 3]]
我认为这应该非常容易,但是,当您尝试使用sklearn的这个虚拟示例时:
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')
X = [[1,'Male'], [ 3,'Female']]
enc.fit(X)
我收到下一个错误:
ValueError: could not convert string to float: 'Male'
提前谢谢。
最佳答案
您可以使用map
gender = {'male':1,'female':3}
df.gender.map(gender)
关于python - 如何使用所需的代码编码分类列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53260620/