So finden Sie das letzte Vorkommen von Maximalwerten in einem numpy.darray

8

Ich habe ein numpy.darray, in dem der maximale Wert meistens mehr als einmal auftritt.

BEARBEITEN: Dies unterscheidet sich subtil von numpy.argmax: wie Sie den Index erhalten, der dem * letzten * Vorkommen entspricht, falls mehrere Vorkommen auftreten der Maximalwerte , weil der Autor sagt

  

Oder, noch besser, ist es möglich, eine Liste von Indizes aller Vorkommen des Maximalwerts im Array zu erhalten?

In meinem Fall könnte sich jedoch eine solche Liste als sehr teuer erweisen

Ist es möglich, den Index des letzten Vorkommens des maximalen Wertes zu finden, indem man etwas wie numpy.argmax verwendet? Ich möchte nur den Index des letzten Vorkommens finden, nicht ein Array aller Vorkommen (da mehrere hundert da sein können)

Zum Beispiel gibt dies den Index des ersten Auftretens zurück, dh 2

%Vor%

Ich möchte jedoch, dass es 5 ausgibt.

    
Sudarshan S 07.01.2012, 09:05
quelle

1 Antwort

14

numpy.argmax gibt nur den Index des ersten Vorkommens zurück. Sie könnten argmax auf eine umgekehrte Ansicht des Arrays anwenden:

%Vor%

Note numpy kopiert das Array nicht, sondern erstellt stattdessen eine Ansicht des Originals mit einem stride , die in umgekehrter Reihenfolge darauf zugreifen.

%Vor%     
outis 07.01.2012, 09:41
quelle

Tags und Links