我有一个字母等级的熊猫数据框:A,B,C,D和无。我想把它变成数字数据,其中A = 1,B = 2等。
我可以想到一些可能的方法,但我想知道是否有惯用的方法。
答案 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