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
DDDOriginal
2024-11-28 21:27:18843Durchsuche

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]])

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]])

Antwort:

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

a[a[:, 1].argsort()]

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!

Stellungnahme:
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