在pandas中,我想将字符串映射到整数,但奇怪的是,另一列将字符串转换为我想要的整数,但是一列将字符串转换为浮点数,并且一个级别没有正确转换并且它变为NaN ,代码:
data2['post'].map({'集体企业人员':0, '在岗职工':1, '农电工':2})
0 0.0 1 0.0 2 0.0 3 1.0 4 1.0 5 1.0 6 1.0 7 0.0 8 0.0 9 0.0 10 NaN 11 1.0 12 1.0 13 1.0 14 NaN 15 1.0 16 0.0 17 0.0 18 NaN 19 1.0 20 NaN 21 1.0 22 1.0 23 1.0 24 1.0 25 1.0 26 1.0 27 1.0 28 0.0
我该如何处理?
答案 0 :(得分:2)
问题是某些值与dictionary
的键不匹配,因此请NaN
s。
有多种解决方案:
1.缺少dict键
2.通过标量NaN
fillna(100)
s
3.使用replace
代替map
,但获取混合值 - 带字符串的数字
3a。使用原始值NaN
替换fillna(data2['post'])
- 与3.
相同的问题
4.删除可能的尾随空格,添加data2['post'].str.strip().map({'集体企业人员':0, '在岗职工':1, '农电工':2})
strip