Python Numpy:如何计算bool数组中真实元素的数量

我有一个NumPy数组“boolarr”的布尔类型。我想计算值为True的元素的数量。是否有专门用于此任务的NumPy或Python例程?或者,我需要迭代我的脚本中的元素吗?
您有多个选项。两个选项如下。

numpy.sum(boolarr)
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)

>>> np.sum(boolarr)
5

当然,这是一个bool的具体答案。更一般来说,你可以使用numpy.count_nonzero。

>>> np.count_nonzero(boolarr)
5
http://stackoverflow.com/questions/8364674/python-numpy-how-to-count-the-number-of-true-elements-in-a-bool-array

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Python Numpy:如何计算bool数组中真实元素的数量