[SciPy-user] How to use argmax ?
lorenzo bolla
lbolla at gmail.com
Tue Oct 23 03:39:58 EDT 2007
not sure if this is very efficient, but it works:
In [87]: a = numpy.random.rand(4,3)
In [88]: ind = a.argmax(axis=0)
In [89]: numpy.diag(a[ind])
Out[89]: array([ 0.62609397, 0.81456652, 0.86274995])
In [90]: a
Out[90]:
array([[ 0.46902428, 0.19723896, 0.25731427],
[ 0.39632899, 0.81456652, 0.5836383 ],
[ 0.62609397, 0.6931616 , 0.86274995],
[ 0.22968695, 0.22322129, 0.14708956]])
In [91]: a[ind]
Out[91]:
array([[ 0.62609397, 0.6931616 , 0.86274995],
[ 0.39632899, 0.81456652, 0.5836383 ],
[ 0.62609397, 0.6931616 , 0.86274995]])
L.
On 10/22/07, Daniel Lenski <dlenski at gmail.com> wrote:
>
> On Mon, 22 Oct 2007 19:04:54 +0000, Daniel Lenski wrote:
>
> > Or maybe this is what you're looking for:
> >
> >>>>> ind = a.argmax(axis=0)
> >>>>> a[ ind, [0,1,2] ]
> > array([60, 20, 14])
> >
> > ... which basically returns a[ind[0],0], a[ind[1],1], and a[ind[2],2].
> >
> > Dan
>
> Yeah, there really must be a straightforward, easy way to do this without
> explicitly listing the indices. Hmmm...
>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20071023/27f0a442/attachment.html>
More information about the SciPy-User
mailing list