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

如何使用正则表达式从pandas DataFrame的header列拆分提取ID

问题原因

你原先使用\d+作为分割规则,会将id中包含的数字作为分割位点,导致拆分结果碎片化,无法得到完整的id和header内容。

解决方法

方法1:按第一个空格拆分(无需复杂正则)

你的数据中id和后续header内容仅通过第一个空格分隔,且header内部的空格需要保留,只需要指定拆分次数为1即可:

import pandas as pd
df=pd.DataFrame({"header":["SS50377_28860 All-trans-retinol 13,14-reductase"]})
# 拆分后直接覆盖/新增对应列
df[['id','header']] = df['header'].str.split(n=1, expand=True)

运行后即可得到你需要的df结构。

方法2:正则捕获实现拆分

如果需要通过正则严格匹配规则,可以用str.extract直接捕获两组内容:

df = df['header'].str.extract(r'(?P<id>\w+)\s+(?P<header>.*)')

正则说明:

  • (?P<id>\w+):捕获由字母、数字、下划线组成的id部分,自动命名列名为id
  • \s+:匹配id和header之间的一个或多个空格
  • (?P<header>.*):捕获空格后的所有内容作为新的header列,自动命名列名为header

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:10