Pandas 如何删除前导零并将字母转换为数字?
我有一个列,它的值如下:0000000000 56h,000000000 193e。我需要删除前导零并将最后一个字母更改为相应的数字,例如a=1、e=5等。在这些示例中,值应为568和1935 我试图转换为int,但这不起作用,可能是因为结束字符 我尝试了.strip(“0”),但出现错误“Series”对象没有属性“strip” 有人能在这方面提供帮助吗?我是python新手,所以这超出了我有限的知识范围 TiaIIUCPandas 如何删除前导零并将字母转换为数字?,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
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.@而不是在此处发布此内容,您可以选择适当的解决方案。请删除此答案。