我有一个 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/