numpy: Anwenden von argsort auf ein Array

Dasargsort() Die Funktion gibt eine Matrix von Indizes zurück, die zum Indizieren des ursprünglichen Arrays verwendet werden kann, sodass das Ergebnis mit dem übereinstimmtsort() Ergebnis.

Gibt es eine Möglichkeit, diese Indizes anzuwenden? Ich habe zwei Arrays, eines ist das Array, das zum Abrufen der Sortierreihenfolge verwendet wird, und ein anderes sind einige zugehörige Daten.

Ich würde gerne rechnenassoc_data[array1.argsort()] aber das scheint nicht zu funktionieren.

Hier ist ein Beispiel:

z=array([1,2,3,4,5,6,7])
z2=array([z,z*z-7])
i=z2.argsort()
z2=array([[ 1,  2,  3,  4,  5,  6,  7],
          [-6, -3,  2,  9, 18, 29, 42]])
i =array([[1, 1, 1, 0, 0, 0, 0],
          [0, 0, 0, 1, 1, 1, 1]])

Ich möchte i auf z2 (oder ein anderes Array mit zugehörigen Daten) anwenden, bin mir aber nicht sicher, wie ich das machen soll.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage