。
谢谢
发布于 2022-03-24 09:22:04
您在代码中提到了两个问题:
它不再是一个缺失的值,因为您将np.NAN放在那里,nan将被视为普通编码器中的一个独立类。
正如@Oxbowerce评论的那样,您的pandas.Categorical将返回-1,因为值是存在的,而不是字符串。
在您的代码中,我不知道为什么要替换np.NAN()。
X = pd.DataFrame ( np.array ( [ 'M', 'O-', 'medium',
'M', 'O-', 'high',
'F', 'O+', 'high',
'F', 'AB', 'low',
'F', 'B+', np.NAN]).reshape((5,3)))
X.columns = ['sex', 'blood_type', 'edu_level']
此时,如果您知道这是缺失的值,那么最好在这里替换它本身,而不是让它变得复杂。
或者在处理完之后,如果您想要转换回包含丢失值在内的类别,则只需通过
edu_dict = {2.0: 'Low', 0.0: 'High', 1.0: 'Medium', 3.0: 'Missing', }
X['edu_level'] = X['edu_level'].map(edu_dict)
产出:
sex blood_type edu_level
0 M O- Low
1 M O- High
2 F O+ High
3 F AB Medium
4 F B+ Missing
https://datascience.stackexchange.com/questions/109291
复制相似问题