How to count the number of true elements in a NumPy bool array

后端 未结 4 938
迷失自我
迷失自我 2020-12-12 13:50

I have a NumPy array \'boolarr\' of boolean type. I want to count the number of elements whose values are True. Is there a NumPy or Python routine dedicated for

4条回答
  •  孤城傲影
    2020-12-12 14:08

    In terms of comparing two numpy arrays and counting the number of matches (e.g. correct class prediction in machine learning), I found the below example for two dimensions useful:

    import numpy as np
    result = np.random.randint(3,size=(5,2)) # 5x2 random integer array
    target = np.random.randint(3,size=(5,2)) # 5x2 random integer array
    
    res = np.equal(result,target)
    print result
    print target
    print np.sum(res[:,0])
    print np.sum(res[:,1])
    

    which can be extended to D dimensions.

    The results are:

    Prediction:

    [[1 2]
     [2 0]
     [2 0]
     [1 2]
     [1 2]]
    

    Target:

    [[0 1]
     [1 0]
     [2 0]
     [0 0]
     [2 1]]
    

    Count of correct prediction for D=1: 1

    Count of correct prediction for D=2: 2

提交回复
热议问题