python - 如何计算 NumPy bool 数组中真实元素的数量

标签 python arrays numpy count boolean

我有一个 boolean 类型的 NumPy 数组“boolarr”。我想计算值为 True 的元素的数量。是否有专门用于此任务的 NumPy 或 Python 例程?或者,我是否需要遍历脚本中的元素?

最佳答案

您有多种选择。以下是两个选项。

boolarr.sum()
numpy.count_nonzero(boolarr)

这是一个例子:

>>> import numpy as np
>>> boolarr = np.array([[0, 0, 1], [1, 0, 1], [1, 0, 1]], dtype=np.bool)
>>> boolarr
array([[False, False,  True],
       [ True, False,  True],
       [ True, False,  True]], dtype=bool)

>>> boolarr.sum()
5

当然,这是一个 bool 特定的答案。更一般地,您可以使用 numpy.count_nonzero

>>> np.count_nonzero(boolarr)
5

关于python - 如何计算 NumPy bool 数组中真实元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8364674/

相关文章:

python - 在 argsort 索引上排序的 numpy 累积和

arrays - Scala 数组属于哪个类别?

arrays - 根据另一个数组对一个数组进行排序,swift

python多重处理比正常慢-计算太微不足道?

python - 打印两个字符串之间没有换行符

c - 将 sizeof 与具有固定长度数组的结构一起使用

python-3.x - 当特定列值连续一定数量的行时如何获取行

python - 不允许在 Python 中修改列表迭代器?

python - 从字符串中删除 "\n",但保留实际的换行符?

python - 将产品添加到购物车无法正常工作