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

Pandas如何删除DataFrame字符串列首个空格前的内容

问题背景

现有如下结构的pandas DataFrame:

import pandas as pd
df1 = pd.DataFrame({'Item_Description': ['dfd_landing BKK_AOT-Airbridge / Jetty', 'dfd_month DEL_Updater Services Pvt Ltd-Office Cleaning']})

需要实现的效果:删除Item_Description列每个字符串中第一个空格之前的所有内容,最终得到如下结果:

df1 = pd.DataFrame({'Item_Description': ['BKK_AOT-Airbridge / Jetty', 'DEL_Updater Services Pvt Ltd-Office Cleaning']})

之前尝试的代码df1['Item_Description'] = df1['Item_Description'].str.replace(".*(" ")", "")运行后会清空整段字符串,无法得到预期结果。

实现方案

正则替换方案(推荐)

直接通过正则匹配第一个空格前的所有内容替换为空,一行代码即可完成:

df1['Item_Description'] = df1['Item_Description'].str.replace(r'^.*? ', '', regex=True)

正则逻辑说明:

  • ^ 锚定字符串起始位置
  • .*? 采用非贪婪匹配规则,匹配从开头到第一个空格为止的所有字符(包含这个分隔空格)
  • 替换匹配段为空后,剩余内容就是需要保留的部分。

字符串拆分方案

如果不想使用正则,也可以通过指定拆分次数的分割方法实现,同样一行完成:

df1['Item_Description'] = df1['Item_Description'].str.split(n=1).str[1]

逻辑说明:

  • 给split传入参数n=1,代表仅按第一个空格做一次拆分,拆分后得到包含两个元素的列表,取索引为1的元素就是需要保留的后半段内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:12:22