Nikolaus Rath <Nikolaus <at> rath.org> writes: [snip] > Not quite, because I'm interested in the n largest values over all > elements, not the largest element in each row or column. But Keith's > solution seems to work fine, even though I'm still struggling to > understand what's going on there .
My bad. I just concentrated on your example, not the actual question. However, what's wrong with your above approach "[ np.unravel_index(i, x.shape) for i in idx[-3:] ]" ? Especially if your n largest elements are just a small fraction of all elements. # Note also the differencies a= np.asarray([[1, 8, 2], [2, 3, 3], [3, 4, 1]]) n= 3 # between print [np.unravel_index(ind, a.shape) for ind in np.argsort(a.ravel())[-n:]] # and print [np.where(val== a) for val in np.sort(a.ravel())[-n:]] Regards, eat > > Best, > > -Nikolaus > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion