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

Python Pandas如何移除字符串中|右侧部分并返回字符串值?

解决方法

你的代码得到列表结果是因为split('|')[:-1]返回的是子列表,要得到单个字符串,可参考以下几种方法:

方法1:修改列表推导式

  • 若每个字符串仅含一个|,直接取拆分后的第一个元素:
df['name'] = [i.split('|')[0] for i in df['name']]
  • 若字符串可能有多个|,需保留最后一个|左侧全部内容,用join转回字符串:
df['name'] = ['|'.join(i.split('|')[:-1]) for i in df['name']]

方法2:使用Pandas字符串方法(更高效)

Pandas的str系列方法可直接对整列操作,无需手动遍历:

  • 单个|场景:
df['name'] = df['name'].str.split('|').str[0]
  • 多个|场景:
df['name'] = df['name'].str.split('|').str[:-1].str.join('|')

方法3:从右侧拆分(最贴合需求)

针对“移除从右侧到第一个|的部分”的需求,用rsplit从右侧仅拆分一次,直接取左侧内容最准确:

df['name'] = df['name'].str.rsplit('|', n=1).str[0]

执行上述任一方法后,输出结果如下:

name
0  AAA
1  BBB

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:50:40