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

如何在Pandas中提取列字符串指定部分并赋值至新列?

在Pandas中提取指定字符串到新列

直接使用Pandas的str.extract()方法配合精准的正则表达式,就能提取任意位置的XPIC并生成新列,代码示例如下:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'raw_str': ['MC-ABC 2+0/XPIC 2+0', 'MisMatch!MC-ABS 2+0 ::: / XPIC 2+0']
})

# 提取XPIC到新列
df['target_col'] = df['raw_str'].str.extract(r'(XPIC)', expand=False)

关键说明

  • 正则表达式(XPIC)是一个捕获组,会精准匹配字符串中出现的XPIC序列,无论它处于什么位置
  • expand=False确保返回的是Series而非DataFrame,直接赋值给新列更方便

如果需要兼容大小写变体(比如xpic、Xpic),可以添加忽略大小写的标志:

import re

df['target_col'] = df['raw_str'].str.extract(r'(XPIC)', flags=re.IGNORECASE, expand=False)
# 可选:统一转为大写格式
df['target_col'] = df['target_col'].str.upper()

常见问题排查

如果之前用正则失败,大概率是这两个原因:

  • 正则表达式过度匹配了XPIC前后的符号/空格,导致无法精准捕获目标
  • 未正确使用捕获组,str.extract()需要明确的捕获组才能返回匹配结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 18:18:09