如何在python中将字符串映射到整数

时间:2018-05-08 06:55:48

标签: python pandas

在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

我该如何处理?

1 个答案:

答案 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