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

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

https://stackoverflow.com/questions/8364674/

相关文章:

linux - 我应该使用 libc++ 还是 libstdc++?

python - 为什么两个相同的列表有不同的内存占用?

python - UnicodeEncodeError : 'charmap' codec can'

.net - Raspberry Pi 上的单声道

linux - 使用 Bash 按列拆分命令输出?

linux - 如何在不保留目录结构的情况下 tar 目录?

linux - 如何在登录后将 SSH 用户限制为一组预定义的命令?

python - 资源,客户端和 session 之间的boto3差异?

python - 什么时候应该使用 Flask.g?

linux - 提取并删除目录中的所有.gz - Linux