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

如何在pandas中筛选指定6列均不为0的行

pandas筛选指定列全不为0的行实现方法

首先先定义你需要校验的6个目标列列表,将下方示例中的列名替换为你实际使用的列名即可:

# 替换为你实际的6个目标列名
target_cols = ['列1', '列2', '列3', '列4', '列5', '列6']
# 筛选出6个目标列均不为0的行,生成新的DataFrame
df_filtered = df[(df[target_cols] != 0).all(axis=1)]

代码说明

  • df[target_cols] != 0 会对6个目标列的所有单元格做不等于0的判断,返回布尔类型的DataFrame
  • all(axis=1) 表示对每一行的所有布尔值做与运算,只有该行所有值都为True(即所有列都不为0)时,最终结果才为True
  • 用生成的布尔序列做索引,即可过滤掉不符合要求的行

如果需要直接在原DataFrame上删除不符合要求的行,可以用如下写法:

target_cols = ['列1', '列2', '列3', '列4', '列5', '列6']
df.drop(df[(df[target_cols] == 0).any(axis=1)].index, inplace=True)

注意事项

如果你的数据中0是以字符串'0'的形式存储的,将判断条件中的0替换为'0'即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:18:00