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

如何基于第一个下划线拆分DataFrame列并获取非列表格式结果?

按第一个下划线拆分列并返回字符串的解决方法

问题根源

你用str.split('_',n=1).str[1:]得到列表格式的结果,是因为split(n=1)把Male_85__and_over拆成了['Male', '85__and_over'],[1:]是从索引1开始切片,取出的是包含单个元素的列表,而非单个字符串。

修正方案

方案1:调整切片索引

把str[1:]改成str[1],直接获取拆分后的第二个元素(字符串类型):

test['gender'] = test['column_Name_pivoted'].str.split('_').str[0]
test['age'] = test['column_Name_pivoted'].str.split('_', n=1).str[1]

方案2:用str.partition更高效

partition专门针对按第一个分隔符拆分的场景,会返回(前半段, 分隔符, 后半段)的元组,直接提取后半段即可:

# 批量赋值写法
test[['gender', 'age']] = test['column_Name_pivoted'].str.partition('_')[['0', '2']]

# 或者解包赋值
test['gender'], _, test['age'] = zip(*test['column_Name_pivoted'].str.partition('_'))

效果验证

针对示例值Male_85__and_over,两种方案都会输出:

  • gender列:Male(字符串)
  • age列:85__and_over(字符串)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:45:00