Indizes von Elementen im NumPy-Array, die Bedingungen für den Wert und den Index erfüllen

8

Ich habe ein NumPy-Array, A . Ich möchte wissen, die Indizes der Elemente in A gleich einem Wert und welche Indizes eine Bedingung erfüllen:

%Vor%

Folgendes habe ich getan:

%Vor%

Die Lösung funktioniert, aber ich finde es kompliziert. Außerdem führt in1d eine Sortierung durch, die langsam ist. Gibt es einen besseren Weg, dies zu erreichen?

    
user3329302 22.08.2014, 01:40
quelle

5 Antworten

12

Wenn Sie die Operationsreihenfolge umdrehen, können Sie dies in einer Zeile tun:

%Vor%

Das durchbrechen:

%Vor%     
Robb 22.08.2014, 02:28
quelle
6
%Vor%     
John Zwinck 22.08.2014 02:02
quelle
2

Die zweiten beiden Schritte können durch intersect1D ersetzt werden. Wahrscheinlich auch eine Art. Ich weiß nicht, wie Sie das vermeiden würden, wenn Sie nicht garantieren können, dass Ihr ind-Array bestellt wird.

    
Paul 22.08.2014 02:01
quelle
1

Wie wäre es mit dem Verschieben von np.where bis zum Ende, so:

%Vor%

Das sollte keine Sortierung erfordern.

    
Praveen 22.08.2014 02:11
quelle
0

Das ist ein bisschen anders - ich habe keine Zeittests gemacht.

%Vor%

Obwohl wir uns die Lösung von @ Robb angesehen haben, ist dies wahrscheinlich der beste Weg.

    
wwii 22.08.2014 03:14
quelle

Tags und Links