当字母匹配时替换最后一个字母

嗨,你们好,
如果最后一个字母包含数字5,则我想将其替换为0。
ID PA005和XP095最后包含5,我想将5替换为0。
同样,如果第二个字母包含A,则将其替换为Z。ID Ba002、CA003和Pa005包含第二个字母A,我想将其替换为Z
以下是数据帧:

选择 | 换行 | 行号
  1. data = {'id': ['BP001', ' Ba002', 'CA003', 'EF004', 'Pa005','EP001','EM050','XP095']} 
  2. df = pd.DataFrame(data, columns = ['id'])
  3. df


感谢你的帮助。

# 回答1


如果id始终为5个字符。

选择 | 换行 | 行号
  1. df['id'] = df['id'].str.replace(' ','')
  2. df['id'] = df['id'].str[:4] + df['id'].str[-1].replace('5', '0')
  3. df['id'] = df['id'].str[:1] + df['id'].str[1].replace('a', 'Z').replace('A', 'Z') + df['id'].str[2:]
  4.  
# 回答2


嗨,你们好,
谢谢你的建议。
向您致以亲切的问候,
产丹

标签: python

添加新评论