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

如何从Pandas DataFrame列中提取含ABC前缀加后5位的内容?

Pandas提取指定格式文本方法

你已经完成了包含"ABC"行的筛选,接下来可以用Pandas的str.extract()方法结合正则表达式提取目标内容:

  • 基础提取(匹配ABC后紧跟任意5个字符)
    假设筛选后的DataFrame为filtered_df,执行以下代码提取符合"ABC+5个任意字符"格式的内容:

    filtered_df = df[df['Column'].str.contains('ABC', na=False)]
    filtered_df['Extracted_Content'] = filtered_df['Column'].str.extract(r'(ABC.{5})')
    

    正则表达式r'(ABC.{5})'的含义:

    • ABC:匹配固定前缀
    • .{5}:匹配任意5个字符(包括数字、字母、符号等)
    • 括号()用于捕获需要提取的内容
  • 限定数字的情况(如果后续5个字符仅为数字)
    若目标内容是ABC后紧跟5位数字(比如ABC12345这类格式),把正则改成r'(ABC\d{5})'即可:

    filtered_df['Extracted_Content'] = filtered_df['Column'].str.extract(r'(ABC\d{5})')
    

    这里\d{5}表示匹配连续5个数字。

  • 处理多个匹配项
    如果某行文本里有多个符合格式的内容(比如"ABC12345 测试ABC67890"),str.extract()只会提取第一个匹配项。要提取所有匹配项,改用str.extractall():

    extracted_all = filtered_df['Column'].str.extractall(r'(ABC.{5})')
    # 可将结果整理后合并回原DataFrame
    extracted_all = extracted_all.reset_index().rename(columns={0: 'Extracted_Content'})
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:31:50