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

如何移除DataFrame中元素总和低于1.0的列?现有代码报错求助

解决DataFrame删除总和低于1.0的列的问题

你的代码问题出在(df.sum() < 1.0).any(axis=0)部分:

  • df.sum()会返回一个存储每列总和的Series,df.sum() < 1.0会生成对应每列是否满足「总和低于1.0」的布尔Series。
  • .any(axis=0)会把这个布尔Series压缩成单一布尔值(只要有一列满足条件就返回True),用单一值作为列索引自然会触发错误。

正确实现代码

直接用布尔Series作为列筛选器,保留总和≥1.0的列即可:

df = df.loc[:, df.sum() >= 1.0]

如果想明确写出删除条件的取反逻辑,也可以这样写:

df = df.loc[:, ~(df.sum() < 1.0)]

上述代码都会自动删除所有总和低于1.0的列,你可以先通过print(df.sum())查看各列总和,验证筛选结果是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:14:51