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

如何在numpy数组中按指定条件应用公式(如正数值求和)

错误原因

你原来的代码存在两个问题:

  • all是numpy数组的内置方法,不是属性,调用时需要加括号,正确写法为wk.all()
  • 逻辑不符合需求:wk.all() > 0的作用是判断数组中所有元素都大于0,你的数组中存在0和负数,该判断永远为False,就算语法正确也不会执行求和逻辑,也没法实现只对正数求和的需求。

正确实现

你可以用numpy的布尔索引筛选符合条件的元素后再求和,两种常用写法效果一致:

  1. 调用np.sum时传入where参数指定求和条件
import numpy as np
wk = np.array([1, 0, 3, -4])
result = np.sum(wk, where=wk > 0)
  1. 先通过布尔索引取出所有正数再求和
result = wk[wk > 0].sum()

两种写法的计算结果都是4,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:30:04