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

Pandas如何根据列的求和结果筛选满足指定条件的列?

实现方法优化

你当前的实现逻辑是可行的,但存在冗余步骤,可以简化为一行代码完成,运行效率和可读性都会更好:

# 若按你描述的需求,筛选列和**大于1**的列
df = df.loc[:, df.sum(axis=0) > 1]

# 若你实际需要的是代码里写的列和大于等于1的列,调整判断条件即可
df = df.loc[:, df.sum(axis=0) >= 1]

原理解释

  • df.sum(axis=0) 会直接返回一个以列名为索引、值为对应列求和结果的Series,不需要额外转成DataFrame存储
  • 对该Series直接做条件判断会得到等长的布尔Series,作为loc的列索引参数,就可以直接筛选出满足条件的列
  • 省略了中间创建临时DataFrame、二次索引取符合条件的列名这两个冗余步骤,数据量越大性能优势越明显

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:18:02