Как найти минимальное значение в матрице numpy?

Эй это быстрый и простой вопрос... Как найти минимальное значение этой матрицы, исключая 0? Как в, 8

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

2 ответов


Если вы используете numpy, вы могли бы использовать

arr[arr>0].min()

для дела, которое вы опубликовали. но если Ваш массив может иметь отрицательные значения, то вы должны использовать

arr[arr != 0].min()

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