[SciPy-user] More elegant way to get indices of the max value in an array?
Chase, Holden
hchase at ball.com
Wed Oct 18 11:32:07 EDT 2006
Hi,
I would like to get the array indices of the max value in an array. Is
there a more elegant way than what I have implemented below using
argmax()? This routine returns the indices and the max value.
Thanks,
Holden
-----------------------------
import numpy #Could be numarray as well
def arrayMaxInd(data):
xMax = data.argmax(1)
maxVal = 0
xMaxInd = 0
yMaxInd = 0
for yInd in range(data.shape[0]):
if data[yInd][xMax[yInd]] > maxVal:
maxVal = data[yInd][xMax[yInd]]
yMaxInd = yInd
xMaxInd = xMax[yInd]
return [xMaxInd, yMaxInd, maxVal]
# test the function
testdata = numpy.random.rand(4,6)
print arrayMaxInd(testdata)
print testdata
-----------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20061018/6abbb48b/attachment.html>
More information about the SciPy-User
mailing list