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

使用Pandas拆分full_name列:多词姓氏完整捕获问题求助

解决Pandas拆分姓名为名字和复合姓氏的问题

直接用str.split()的n参数限制拆分次数,就能把第一个词作为名字,剩余所有内容完整捕获为姓氏:

# 拆分full_name,仅在第一个空格处分割,展开为两列
df[['first_name', 'last_name']] = df['full_name'].str.split(n=1, expand=True)

原理说明

  • n=1表示只执行一次拆分,也就是从第一个空格处把字符串分成两部分,不会拆分后续的空格,完美适配"mary van der smith"这类带复合姓氏的格式
  • expand=True会把拆分后的列表直接转换成DataFrame的两列,自动对应到first_name和last_name列中

处理边界情况

如果遇到只有单个词的姓名(比如"Obama"),拆分后last_name会是NaN,可以按需填充:

# 把单个词的姓名同时赋值给姓氏列
df['last_name'] = df['last_name'].fillna(df['first_name'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:00:55