使用Pandas将序数字符数据更改为数字数据

时间:2014-02-17 00:42:53

标签: python pandas

我有一个字母等级的熊猫数据框:A,B,C,D和无。我想把它变成数字数据,其中A = 1,B = 2等。

我可以想到一些可能的方法,但我想知道是否有惯用的方法。

1 个答案:

答案 0 :(得分:2)

从技术上讲,您可以跳过'None':np.nan部分,因为conv_dict.get返回None,而不是键中的值,None会转换为np.nan。但是,这可能是也可能没有最好的可维护性。

In [49]:

df=pd.DataFrame({'data':['A','B','C','D','None']})
conv_dict={'A':1.,'B':2.,'C':3.,'D':4.,'None':np.nan}
df['data_c']=df.data.apply(conv_dict.get)
In [51]:

print df
   data  data_c
0     A       1
1     B       2
2     C       3
3     D       4
4  None     NaN