[Numpy-discussion] Re: array.argmax() question
ryanlists at gmail.com
Thu Feb 23 18:11:06 CST 2006
Is the right answer to just use flatten()?
On 2/23/06, Ryan Krauss <ryanlists at gmail.com> wrote:
> Is this the expected behavior for array.argmax():
> ipdb> abs(real(disps)).max()
> Out: 1.7373584411866401e-05
> ipdb> abs(real(disps)).argmax()
> Out: 32
> ipdb> shape(disps)
> Out: (11, 3)
> ipdb> disps[11,1]
> *** IndexError: invalid index
> ipdb> disps[10,1]
> Out: 0j
> ipdb> disps[10,2]
> Out: (-1.7373584411866401e-05+5.2046737124258386e-21j)
> Basically, I want to find the element with the largest absolute value
> in a matrix and use it to scale by. But I need to correct for the
> possibility that the largest abs value may be from a negative number.
> So, I need to get the corresponding element itself.
> My array is shape (11,3) and argmax without an axis argument returns
> 32, which would be the index if the matrix was reshaped into a (33,)
> vector. Is there a clean way to extract the element based on the
> output of argmax? (and in my case it is actually using the output of
> argmax to extract the element from the matrix without the abs). Or do
> I need to reshape the matrix into a vector first?
More information about the Numpy-discussion