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

为何numpy的count_nonzero()无法用于ndarray?报错求助

解决numpy count_nonzero()的AttributeError问题

你遇到的AttributeError核心原因是:count_nonzero()是numpy库的顶层函数,并非numpy数组(ndarray)的实例方法,所以不能通过arr.count_nonzero()的形式调用。

正确的调用方式是直接使用np.count_nonzero(),将需要统计的数组(或布尔条件数组)作为参数传入:

import numpy as np
arr = np.full( (3, 3), 1, dtype='int')
print(arr.sum())                  # 如预期输出9
print(np.count_nonzero(arr==1))   # 正确执行,输出9

另外,你也可以利用布尔数组的特性简化统计:布尔数组中True会被视为1,False视为0,直接对条件判断后的数组求和也能得到相同结果:

print((arr == 1).sum())  # 同样输出9

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:16:01