2016-03-02 79 views
2

给出一个数据帧是这样的:转换熊猫系列成整数

'John', 0.25 
'Mary', 0.2 
'Adam', 0.1 
'Andrew', 0.6 

我想产生对某个系列中的每类唯一的整数。例如,在上述情况下,输出可能是这样的

0, 0.25 
1, 0.2 
2, 0.1 
3, 0.6 

可能只有熊猫或标准库。

回答

1

我认为你可以使用factorize,如:

print df 
      a  b 
0 'John' 0.25 
1 'Mary' 0.20 
2 'Mary' 0.20 
3 'Adam' 0.10 
4 'Adam' 0.10 
5 'Adam' 0.10 
6 'Andrew' 0.60 

print pd.factorize(df.a) 
(array([0, 1, 1, 2, 2, 2, 3]), 
Index([u''John'', u''Mary'', u''Adam'', u''Andrew''], dtype='object')) 

df['a'] = pd.factorize(df.a)[0] 
print df 

    a  b 
0 0 0.25 
1 1 0.20 
2 1 0.20 
3 2 0.10 
4 2 0.10 
5 2 0.10 
6 3 0.60 
+0

才有可能推广到哪里,我不知道有多少唯一值我有这样的? – Bob

+0

我尝试添加新行,请检查,如果我正确理解您的问题。 – jezrael