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

如何检索并删除DataFrame中最值均为0的列

批量删除DataFrame中最值均为0的列

假设我们有一个名为df的DataFrame,示例数据如下:

Name     Scores     Project_score    Attendence
1  Kahn      25             0               0
2  Uri       22             0               0
3  John      24             0               0
4  Shushi    21             0               0
5  Johnny    25             0               0

要批量删除所有最大值和最小值均为0的列,无需手动指定列名,可采用以下方法:

方法一:先筛选目标列再删除

  1. 遍历所有列,筛选出符合条件的列名:
cols_to_drop = [col for col in df.columns if df[col].min() == 0 and df[col].max() == 0]
  1. 删除这些列:
# 直接修改原DataFrame
df.drop(cols_to_drop, axis=1, inplace=True)
# 或者生成新的DataFrame
new_df = df.drop(cols_to_drop, axis=1)

方法二:一行代码完成筛选与保留

利用布尔索引直接保留符合要求的列:

df = df.loc[:, ~((df.min() == 0) & (df.max() == 0))]
  • df.min()/df.max():返回每列的最小/最大值
  • (df.min() == 0) & (df.max() == 0):标记出最值均为0的列
  • ~:取反,保留不符合上述条件的列

以上两种方法都能自动处理大量列的场景,无需手动列举列名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:55:30