Asked By – Andreas Mueller
I’m trying to get the indices of the maximum element in a Numpy array.
This can be done using
numpy.argmax. My problem is, that I would like to find the biggest element in the whole array and get the indices of that.
numpy.argmax can be either applied along one axis, which is not what I want, or on the flattened array, which is kind of what I want.
My problem is that using
axis=None returns the flat index when I want the multi-dimensional index.
I could use
divmod to get a non-flat index but this feels ugly. Is there any better way of doing this?
Now we will see solution for issue: Argmax of numpy array returning non-flat indices
You could use
numpy.unravel_index() on the result of
>>> a = numpy.random.random((10, 10)) >>> numpy.unravel_index(a.argmax(), a.shape) (6, 7) >>> a[6, 7] == a.max() True
This question is answered By – Sven Marnach
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0