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

如何提取DataFrame列首个下划线后的值生成新列,多下划线取中间值

解决方案

你写的正则逻辑本身完全匹配需求,只是之前的代码直接覆盖了原有col1列,修改赋值目标列即可得到你要的新列:

方法1:使用你现有正则直接创建新列

df['type'] = df['col1'].str.extract(r'\w*?_([^_]*)(?:_)?')

方法2:用分割写法,可读性更强

按下划线分割字符串后直接取索引为1的元素,逻辑更直观,也能满足你的规则要求:

df['type'] = df['col1'].str.split('_').str[1]

两种写法运行后都可以得到你期望的type列结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 12:06:04