1
我经常需要查找满足某个大的1D数组值的某些条件的值的数量。通过一个小试验和错误我结束了以下方法:使用numpy查找数组中非零值的数量
import numpy as np
a = np.random.random_sample(500000) # just some trial data
num_above_half = len(np.nonzero(a > 0.5)[0])
等效的方法:
num_above_half = sum(a > 0.5)
是我的机器上近300 X慢。第一种方法很好,但语法有点杂乱,有没有更好的方法呢?
@mgilson:'np.count_nonzero'是对速度的赢家,这是在发布者DSM联详述(5X加速v'LEN()'方法)。可能会像帝斯曼所暗示的那样关闭。 – 2014-10-10 19:11:05
@DSM - 是的,我认为它很重要:-) – mgilson 2014-10-10 20:19:06