You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas DataFrame指定列按规则在末尾追加BB字符串?

解决方案

直接使用正则负向后行断言实现末尾匹配判定,核心代码如下:

# 基础版:直接对原始地址处理
df['Address_new'] = df['Address'].str.replace(r'(?<!\d|BB|B\.B|B\.B\.)$', ' BB', regex=True)

# 优化版:先去除首尾空白字符,避免末尾空格导致匹配失效
df['Address_new'] = df['Address'].str.strip().str.replace(r'(?<!\d|BB|B\.B|B\.B\.)$', ' BB', regex=True)

规则说明

  • (?<!...) 是正则负向后行断言,仅当前方没有匹配括号内规则的内容时,才会匹配当前位置
  • \d 匹配任意数字
  • BB 匹配连续的BB字符
  • B\.B 匹配B.B(正则中.是通配符,需要加反斜杠转义才能匹配本身)
  • B\.B\. 匹配B.B.
  • $ 匹配字符串的末尾位置

整段逻辑作用是:识别字符串末尾位置,如果该位置前不存在数字/BB/B.B/B.B.,就在此处插入 BB

处理效果

对应测试数据的输出结果如下:

NameAddressAddress_new
rameshAnuj,Sinha-34Anuj,Sinha-34
sureshSinha,Anuj B.BSinha,Anuj B.B
kalerat,sreshrat,sresh BB
Nareshrate,hug BBrate,hug BB

内容的提问来源于stack exchange,提问作者Anuj Sinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:54:00