我有一个带有字母等级的 pandas 数据框:A、B、C、D 和 None。我想将其转换为数字数据,其中 A = 1、B = 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
关于python - 使用 Pandas 将有序字符数据更改为数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21818886/