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

Python如何删除包含指定字符串的列 示例:删除含'No'的列

Python删除包含指定字符串的列实现方案

使用pandas处理表格类数据即可快速实现需求,步骤如下:

  1. 导入pandas库
import pandas as pd
  1. 读取/构造你的数据,示例数据构造代码如下:
df = pd.DataFrame({
    'Rat': ['jkl', 'ghj', 'mmm', 'klj', 'kkk'],
    'Rat 1': ['No', 'No', 'No', 'No', 'No'],
    'Rat 2': ['jkl', 'jkhj', 'jkl', 'oo', 'jkk']
})

如果是读取本地csv文件,使用df = pd.read_csv('你的文件路径')即可。
3. 执行列筛选逻辑
分为两种匹配场景,按需选择:

  • 子串匹配:只要单元格包含目标字符串就算命中(通用场景,符合当前需求)
target_str = 'No'
# 保留所有不包含目标字符串的列
df = df.loc[:, ~df.apply(lambda x: x.str.contains(target_str, na=False)).any()]
  • 完全匹配:仅单元格内容和目标字符串完全一致时才算命中
target_str = 'No'
df = df.loc[:, ~df.apply(lambda x: (x == target_str).any())]

逻辑说明

  • x.str.contains(target_str, na=False):判断单个单元格是否包含目标字符串,na=False参数可避免空值报错
  • .any():对每列的布尔结果做聚合,只要列中有一个命中就返回True
  • ~:布尔值取反,筛选出没有命中目标字符串的列
  • 执行后直接打印df即可得到仅保留Rat和Rat 2两列的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:07