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

如何提取pandas DataFrame中Nation列按空格分割后的第二部分内容

问题原因

你当前的代码存在两个错误:

  • split("")是无效写法,空字符串不能作为分割符,按空格分割直接使用split()即可,默认会匹配任意空白字符,还能自动处理多个连续空格的特殊场景
  • 列表索引从0开始计数,取第二部分需要用索引[1],你当前写的[0]取的是第一部分内容

修改方案

方案1:调整原apply写法

df['Nation'] = df.Nation.apply(lambda pos: pos.split()[1])

方案2(更推荐):使用pandas矢量化字符串方法

数据量较大时这种方法运行效率远高于apply:

df['Nation'] = df['Nation'].str.split().str[1]

如果存在部分行没有空格、只有单个值的场景,可以用以下写法避免报错,缺失值会自动设为NaN:

df['Nation'] = df['Nation'].str.split(n=1, expand=True)[1]

其中n=1表示最多分割1次,避免字符串内存在多个空格时出现异常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:18:03