Heim > Backend-Entwicklung > Python-Tutorial > Wie sortiere ich die Zeilen eines NumPy-Arrays nach einer bestimmten Spalte?

Wie sortiere ich die Zeilen eines NumPy-Arrays nach einer bestimmten Spalte?

DDD
Freigeben: 2024-11-28 21:27:18
Original
863 Leute haben es durchsucht

How to Sort a NumPy Array's Rows by a Specific Column?

Sortieren von Arrays in NumPy nach Spalte

Das Sortieren von Arrays nach Spalten ist eine häufige Aufgabe bei der Datenanalyse und -bearbeitung. NumPy bietet effiziente Möglichkeiten, diesen Vorgang auszuführen.

Frage:

Wie können Sie bei einem gegebenen NumPy-Array mit mehreren Spalten seine Zeilen nach einer bestimmten Spalte sortieren?

Beispiel:

Betrachten Sie das folgende Array a:

a = np.array([[9, 2, 3],
              [4, 5, 6],
              [7, 0, 5]])
Nach dem Login kopieren

Wir wollen die Zeilen von a nach der zweiten Spalte (Spalte 1, indiziert von 0) sortieren, um zu erhalten:

array([[7, 0, 5],
       [9, 2, 3],
       [4, 5, 6]])
Nach dem Login kopieren

Antwort:

Um a nach der zweiten Spalte zu sortieren, verwenden Sie den folgenden Code:

a[a[:, 1].argsort()]
Nach dem Login kopieren

Dies Ausdruck erzielt das gewünschte Ergebnis, weil:

  1. a[:, 1] die zweite Spalte von a auswählt.
  2. argsort() gibt die Indizes zurück, die die Spalte in aufsteigender Reihenfolge sortieren würden.
  3. Das Indizieren von a mit diesen Indizes sortiert die Zeilen von a entsprechend.

Deshalb dies Der Ansatz bietet eine bequeme und effiziente Möglichkeit, NumPy-Arrays nach einer beliebigen angegebenen Spalte zu sortieren.

Das obige ist der detaillierte Inhalt vonWie sortiere ich die Zeilen eines NumPy-Arrays nach einer bestimmten Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage