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

Pandas如何删除DataFrame指定列中以特定字符开头的字符串前缀

问题修正与实现方案

原代码失效原因

  • 列名使用错误:你的DataFrame目标列是Sentences,不是代码中写的Names
  • 字符串切片逻辑错误:df.Names[0:3]是取列的前3行数据,不是取每行字符串的前3个字符,pandas序列处理字符串需要使用.str访问器
  • 赋值逻辑错误:右侧的row['Names'][3:]未定义row变量,无法直接调用

正确实现方法

方法1:通用正则替换(推荐)

一次性匹配所有开头的「小写字母+) +空格」格式的前缀,自动移除,支持a-z任意前缀:

df['Sentences'] = df['Sentences'].str.replace(r'^[a-z]\) ', '', regex=True)

方法2:按前缀判断后截取(贴合你的原始思路)

# 构造匹配a) 、b) 前缀的筛选条件
mask = (df['Sentences'].str[:3] == 'a) ') | (df['Sentences'].str[:3] == 'b) ')
# 对匹配到的行截取从第3位开始的内容
df.loc[mask, 'Sentences'] = df.loc[mask, 'Sentences'].str[3:]

测试效果

运行代码后输出结果如下:

Sentences
0  Sentence 1
1  Sentence 2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:39:00