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

如何从Pandas的fullname列中提取名字与剩余姓名部分?

拆分Pandas DataFrame的fullname列为给定名和剩余姓名部分

问题说明

有一个包含fullname列的Pandas DataFrame,数据如下:

fullname
Andres Kirk Polsky
Anna Lorensen Polsman Uirch

需要生成两个新列,实现如下效果:

fullname                        given       rest_name
Andres Kirk Polsky              Andres      Kirk Polsky
Anna Lorensen Polsman Uirch     Anna        Lorensen Polsman Uirch

尝试使用str.split(' ', expand=True)无法得到预期结果。

解决方案

利用str.split的n参数限制拆分次数,仅在第一个空格处拆分,就能精准分离出第一个词作为given列,剩余内容合并为rest_name列。

代码实现

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'fullname': ['Andres Kirk Polsky', 'Anna Lorensen Polsman Uirch']
})

# 仅拆分第一个空格,拆分结果转为DataFrame
split_data = df['fullname'].str.split(' ', n=1, expand=True)

# 赋值给新列
df['given'] = split_data[0]
df['rest_name'] = split_data[1]

print(df)

关键说明

  • n=1:指定只在第一个出现的空格处拆分字符串,避免把后续所有空格都拆分导致内容零散。
  • expand=True:将拆分后的结果转化为包含两列的DataFrame,直接对应我们需要的given和rest_name内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:55:14