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