gpt4 book ai didi

python - 将字符串安装到预定的模式中?

转载 作者:行者123 更新时间:2023-12-01 00:54:28 26 4
gpt4 key购买 nike

我有一个数据框列,如下所示:

A002
A0011
A0001
A0001A
A2
A3A
A02

并且需要将其调整为A00XXY格式即:

A0002
A0011
A0001
A0001A
A0002
A0003A
A0002

我目前有

df.col.str.lstrip('A0')
for x in df.col.str.contains(r'[0-9]\w{1}$'):
if x:
df.col = 'A000' + df.col
else:
df.col = 'A00' + df.col

但这会变成递归吗?做到这一点的最佳方法是什么?

最佳答案

为了完全概括这一点,以便它在所有情况下都有效,我将采取一些额外的步骤和正则表达式来达到您的预期输出:

df['Start_letter'] = df['Col'].str.extract('(^[A-Za-z])').fillna('')              # Extract the first letter
df['End_letter'] = df['Col'].str.extract('([A-Za-z]$)').fillna('') # Extract the last letter
df['Nums'] = df['Col'].str.replace('[A-Za-z]', '').apply(lambda x: x.zfill(4)) # Extract the numbers between the letters
df['Col'] = df['Start_letter'] + df['Nums'] + df['End_letter']

df = df.iloc[:, :1]
<小时/>
      Col
0 A0002
1 A0011
2 A0001
3 A0001A
4 A0002
5 A0003A
6 A0002

关于python - 将字符串安装到预定的模式中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com