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

如何在Pandas DataFrame中提取姓名列除最后一部分外的内容并转为字符串格式?

解决办法:将列表格式的FName转为空格分隔的字符串

嗨,这个问题很常见,咱们可以通过两种方式轻松解决:

方法1:在现有代码基础上加入字符串连接

你已经通过str.split拿到了除最后一个元素外的列表,只需要用str.join(' ')把列表里的元素用空格拼接成字符串就行:

import pandas as pd

df = pd.DataFrame({'Name': ['John A Sether', 'Robert D Junior', 'Jonny S Rab'], 'Age':[32, 34, 36]})
# 在原代码后添加.str.join(' ')
df['FName'] = df['Name'].str.split(' ').str[0:-1].str.join(' ')

运行后结果就变成了:

Name  Age    FName
0   John A Sether   32   John A
1  Robert D Junior   34  Robert D
2     Jonny S Rab   36   Jonny S

方法2:更高效的rsplit分割法(推荐)

如果你的姓名里可能存在多个连续空格(比如'John A Sether'),第一种方法可能会引入多余的空格。更稳妥的方式是用rsplit从字符串右侧仅分割一次,直接取前面的部分:

df['FName'] = df['Name'].str.rsplit(' ', n=1).str[0]

这个方法不需要处理列表,直接定位到最后一个空格并截取前面的内容,既高效又能避免多空格带来的问题,结果和上面完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 03:47:45