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

如何在Pandas中删除包含指定字符串的列,同时保留特定列?

问题原因

你当前使用的代码存在两处不符合需求的问题:

  • 正则匹配规则写的是Test,和你要筛选的verified关键词完全无关
  • 没有添加排除verified_90的逻辑,自然会删掉所有匹配到的含关键词的列

实现方案

这里给两种最常用的实现方式,可按需选择:

方法1:列表推导式直接筛选保留列

逻辑更直观,先保留所有不含verified关键词的列,再额外把需要保留的verified_90加回来即可:

# 拼接要保留的列列表
keep_cols = [col for col in df.columns if 'verified' not in col] + ['verified_90']
df = df[keep_cols]

方法2:正则匹配要删除的列

如果你想用filter的正则匹配逻辑,可以写个反向匹配规则,匹配所有含verified但不等于verified_90的列,再批量删除:

# 正则含义:匹配包含verified,且不是完整等于verified_90的列
drop_cols = df.filter(regex=r'verified(?!_90$)').columns
df = df.drop(drop_cols, axis=1)

修改完成后可以运行下面的代码验证列名是否符合预期:

print(df.columns.tolist())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:06:05