Charles R Harris wrote:

>
>
> On 9/18/06, *Bill Baxter* <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>     On 9/19/06, Charles R Harris <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>     > On 9/18/06, Bill Baxter <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>     > > I find myself often wanting both the max and the argmax of an
>     array.
>     > > (And same for the other arg* functions)
>
>     > > You have to do something like
>     > >     a = rand(10,5)
>     > >     imax = a.argmax(axis=0)
>     > >     vmax = a[(imax, range(5))]
>     > >
>     > I don't generally like overloading return values, the function
>     starts to
>     > lose its definition and becomes a bit baroque where simply
>     changing a
>     > keyword value can destroy the viability of the following code.
>
>     Agreed.  Seems like the only justification is if you get multiple
>     results from one calculation but only rarely want the extra values.
>     It doesn't make sense to always return them, but it's also not worth
>     making a totally different function.
>
>
>     > But I can see the utility of what you want. Hmm,  this problem
>     is not unique to argmax.
>     > Maybe what we need is a general way to extract values, something
>     like
>     >
>     > extract(a, imax, axis=0)
>     >
>     > to go along with all the single axis functions.
>
>     Yes, I think that would be easier to remember.
>
>     It should also work for the axis=None case.
>       imax = a.argmax(axis=None)
>       v = extract(a, imax, axis=None)
>
>
> It shouldn't be too difficult to jig something up given all the 
> example code. I can do that, but I would like more input first. The 
> questions I have are these.
>
> 1) Should it be done?
> 2) Should it be a method? (functions being somewhat deprecated)
> 3) What name should it have?
>
> I think Travis will have to weigh in on this. IIRC, he felt that the 
> number of methods was getting out of hand.


I can support adding a *function* that does both.   It can't be named 
extract (that already exists).   There should be one for all the 
"arg"-like functions.

If somebody doesn't add it before 1.0 final, it can wait for 1.0.1

-Travis


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion

Reply via email to