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

发布于 2021-01-29 17:07:32

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

关注者
0
被浏览
46
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

    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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看