2012-08-01 371 views
9

嘿,這是一個快速簡單的問題... 我如何找到這個矩陣的最小值,不包括0? 如,8如何在numpy矩陣中找到最小值?

arr = numpy.array([[ 0., 56., 20., 44.], 
        [ 68., 0., 56., 8.], 
        [ 32., 56., 0., 44.], 
        [ 68., 20., 56., 0.]]) 

回答

16

當你使用numpy,你可以使用

arr[arr>0].min() 

爲您發佈的情況。 但如果你的陣列可以有負值,那麼你應該使用

arr[arr != 0].min() 
+0

是一個nr功能嗎?我得到一個錯誤... – Sean 2012-08-01 17:21:01

+0

@ Sean:不,我用'arr'作爲你的數組名稱。你沒有指定一個。 – jmetz 2012-08-01 17:21:49

+0

啊,kk明白了,謝謝! – Sean 2012-08-01 17:23:51

0

numpy具有內置的功能正是這樣做:numpy.max(array)numpy.min(array)

>>> import numpy as np 
>>> a = np.array([[-3,1,1,3,7,9],[-6,-5,-2,1,5,6]]) 
>>> np.max(a) 
9 
>>> np.min(a) 
-6 
相關問題