Pandas 如何删除前导零并将字母转换为数字?

Pandas 如何删除前导零并将字母转换为数字?,pandas,Pandas,我有一个列,它的值如下:0000000000 56h,000000000 193e。我需要删除前导零并将最后一个字母更改为相应的数字,例如a=1、e=5等。在这些示例中,值应为568和1935 我试图转换为int,但这不起作用,可能是因为结束字符 我尝试了.strip(“0”),但出现错误“Series”对象没有属性“strip” 有人能在这方面提供帮助吗?我是python新手,所以这超出了我有限的知识范围 TiaIIUC import string import pandas as pd s

我有一个列,它的值如下:0000000000 56h,000000000 193e。我需要删除前导零并将最后一个字母更改为相应的数字,例如a=1、e=5等。在这些示例中,值应为568和1935

我试图转换为int,但这不起作用,可能是因为结束字符

我尝试了.strip(“0”),但出现错误“Series”对象没有属性“strip”

有人能在这方面提供帮助吗?我是python新手,所以这超出了我有限的知识范围

Tia

IIUC

import string
import pandas as pd

s = pd.Series(['0000000056H', '00000000193E'])
repdict = {v:str(k) for k, v in dict(enumerate(string.ascii_uppercase, start=1)).items()}
s.str.strip('0').replace(repdict, regex=True)
输出:

0     568
1    1935
dtype: object

这对我有用-非常感谢

导入字符串 作为pd进口熊猫

repdict={v:str(k)表示k,v表示dict(枚举(string.ascii_大写,start=1)).items()}
s、 str.strip('0').replace(repdict,regex=True)

看起来不错,您如何将其应用于列?使用df['colname']代替s.@而不是在此处发布此内容,您可以选择适当的解决方案。请删除此答案。