12

Hey this is a quick and easy question... How would i find the minimum value of this matrix, excluding 0? As in, 8

arr = numpy.array([[  0.,  56.,  20.,  44.],
                   [ 68.,   0.,  56.,   8.],
                   [ 32.,  56.,   0.,  44.],
                   [ 68.,  20.,  56.,   0.]])
Sean
  • 1,283
  • 9
  • 27
  • 43

1 Answers1

17

As you're using numpy, you could use

arr[arr>0].min()

for the case you posted. but if your array could have negative values, then you should use

arr[arr != 0].min()
jmetz
  • 12,144
  • 3
  • 30
  • 41
  • @Sean: no, I used `arr` as the name of your array. You didn't specify one. – jmetz Aug 01 '12 at 17:21
  • @Justanotherdunce: ya - while I agree that some simple questions could do with more research on the OPs part, in this case people unfamiliar with matrix manipulation (matlab, numpy style) could find it difficult to get the min that isn't 0. – jmetz Aug 01 '12 at 17:35