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

如何在Python DataFrame中提取以c开头的目标字母数字编码

解决DataFrame提取Code列的问题

你的正则表达式存在逻辑错误:c^(\d[^\W_]{5,})里的^是行首锚定符,放在c后面完全不符合匹配逻辑,而且分组仅捕获数字开头的片段,自然无法正确提取目标字符串。

正确实现代码

使用str.extract配合正确的正则表达式,直接捕获以c开头的连续字母数字串:

df['Code'] = df['Text'].str.extract(r'(c[a-zA-Z0-9]+)')

如果确认数据中不会出现下划线,也可以用更简洁的写法(\w等价于[a-zA-Z0-9_]):

df['Code'] = df['Text'].str.extract(r'(c\w+)')

结果验证

运行后得到的DataFrame与你期望的一致:

TextNoCode
c0404079=0.0034c0404079
c1444716<=0.0045c1444716
1.0<c00226311 <= 0.0036c00226311
c0001208 <= 0.0032c0001208
0.00<c0243026<=2.0085c0243026
c0036983 <= 0.0055c0036983
c0036974=0.0039c0036974

正则说明

  • c:精准匹配开头的字母c
  • [a-zA-Z0-9]+:匹配后续一个或多个字母数字字符,直到遇到第一个非字母数字字符时停止
  • 括号():将匹配到的内容标记为捕获组,str.extract会提取该组内容作为新列的值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:37:02