numpy : argmin in multidimensional arrays
Travis E. Oliphant
oliphant.travis at ieee.org
Thu Jul 6 12:59:22 CEST 2006
TG wrote:
> Hi there.
>
> I am working with multi-dimensional arrays and I need to get
> coordinates of the min value in it.
>
> using myarray.argmin() returns the index in the flatten array, which is
> a first step, but I wonder if it is possible to get the coordinates
> directly as an array, rather than calculating them myself by using this
> flat index and the shape of the array.
>
> well, in fact i'm not sure to understand how argmin(myarray) works,
> when myarray is multidimensional.
By default, the argmin method flattens the array and returns the flat
index. You can get the corresponding element using
myarray.flat[index]
Alternatively, you can use the function unravel_index
unravel_index(flat_index, myarray.shape)
to return an N-dimensional index.
If you give an axis argument, then the minimum is found along the
specified dimension and you get an N-1 dimensional array of indices that
will all be between 1 and myarray.shape[axis]
-Travis
More information about the Python-list
mailing list