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

如何用Pandas的str.replace提取字符串下划线前的数字部分

解决方案

直接使用以下代码即可实现需求:

df['col_name'] = df['col_name'].str.replace(r'^CC(\d{4})_.*$', r'\1', regex=True)

代码说明

  • 正则表达式解析:
    • ^CC:匹配字符串开头的固定前缀"CC"
    • (\d{4}):捕获CC后面的4位数字(也就是你需要保留的3309),括号定义了第一个捕获组
    • _.*$:匹配下划线开始到字符串结尾的所有剩余内容,确保整个字符串都被匹配替换
  • 替换值r'\1':引用第一个捕获组捕获到的内容,也就是我们要保留的数字部分
  • 赋值回原列:必须将修改后的结果重新赋值给df['col_name'],否则只会返回临时结果,不会改变DataFrame中的数据

灵活适配方案

如果CC后面的数字位数不固定(比如可能是2位、3位或更多),可以把正则改成:

df['col_name'] = df['col_name'].str.replace(r'^CC(\d+)_.*$', r'\1', regex=True)

\d+表示匹配1个或多个数字,能适配不同长度的数字前缀。

内容的提问来源于stack exchange,提问作者Abhi Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 10:54:35