numpy : argmin in multidimensional arrays

TG girodt at gmail.com
Thu Jul 6 07:53:17 EDT 2006


thanks. unravel_index do the trick.

Travis E. Oliphant wrote:
> 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