Python:将字母列转换为数字

时间:2015-08-19 22:07:29

标签: python pandas dataframe

我在csv文件中读入了pandas数据框,并且有类似的内容:

  A B C D ...Z
1 5 P 8 H ...1
2 5 K 8 K ...2
3 6 K 8 K ...5

如何将B列和D列(以及数据框中的任何其他列)转换为数字?它可能是A = 1,B = 2等,或者我尝试了ord()函数,但它不接受整个系列。

2 个答案:

答案 0 :(得分:2)

  1. 您可以将此用于A列,例如:

    dataframe.A = [ ord(x) for x in dataframe.A ]

  2. 如果你希望A为1,B为2等......

    dataframe.A = [ ord(x) - 64 for x in dataframe.A ]

答案 1 :(得分:1)

做类似的事情:

for line in lines:
   new_line = map(lambda x: ord(x) - 64 if x.isalpha() else x, line)

逐行遍历矩阵,而不是在每个元素ord()- 65中应用,如果是字母,则按原样使用它。 64ord("A")-1