[Numpy-discussion] Find the N maximum values and corresponding indexes in an array

Neal Becker ndbecker2@gmail....
Wed Dec 2 19:09:17 CST 2009


David Warde-Farley wrote:

> On 2-Dec-09, at 6:55 PM, Howard Chong wrote:
> 
>> def myFindMaxA(myList):
>>    """implement finding maximum value with for loop iteration"""
>>    maxIndex=0
>>    maxVal=myList[0]
>>    for index, item in enumerate(myList):
>>        if item[0]>maxVal:
>>            maxVal=item[0]
>>            maxIndex=index
>>    return [maxIndex, maxVal]
>>
>>
>>
>> My question is: how can I make the latter version run faster? I
>> think the
>> answer is that I have to do the iteration in C.
> 
> 
> def find_biggest_n(myarray, n):
> ind = np.argsort(myarray)
> return ind[-n:], myarray[ind[-n:]]
> 
> David
Not bad, although I wonder whether a partial sort could be faster.



More information about the NumPy-Discussion mailing list