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