Numpy mask to count number of elements satisfying a condition
np.count_nonzero
should be a bit faster than the sum:
np.count_nonzero(arr1 > 0.6)
In fact, it is three times as fast
>>> from timeit import repeat
>>> kwds = dict(globals=globals(), number=10000)
>>>
>>> arr1 = np.random.rand(184,184)
>>>
>>> repeat('np.count_nonzero(arr1 > 0.6)', **kwds)
[0.15281831508036703, 0.1485864429268986, 0.1477385900216177]
>>> repeat('(arr1 > 0.6).sum()', **kwds)
[0.5286932559683919, 0.5260644309455529, 0.5260107989888638]
Get a boolean mask and just count the "True"s:
(arr1 > 0.6).sum()