[Numpy-discussion] The right way to use results of argmax and argmin
Victor S. Miller
victor at idaccr.org
Wed Apr 17 15:25:24 EDT 2002
# I'm running python 2.0 on Solaris and Numeric 21.0
#I have an m by n array -- called a and have
# j an n long list of integers in range(m), such as
j = argmax(a,0)
# If I set
z = zip(j,range(len(j)))
# and try the statement
res = take(a,z)
# python appears to hang, but if I do
res = array(map(lambda x,a=a: a[x[0],x[1]]],z)
# It works.
# Is there a simpler way of doing what I want, and why does take hang?
# is it, perhaps, allocating some n by n work array (this would
# probably make things thrash like crazy)?
--
Victor S. Miller | " ... Meanwhile, those of us who can compute can hardly
victor at idaccr.org | be expected to keep writing papers saying 'I can do the
CCR, Princeton, NJ | following useless calculation in 2 seconds', and indeed
08540 USA | what editor would publish them?" -- Oliver Atkin
More information about the NumPy-Discussion
mailing list