Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich ein mehrdimensionales NumPy-Array nach einer bestimmten Spalte sortieren?

Wie kann ich ein mehrdimensionales NumPy-Array nach einer bestimmten Spalte sortieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-23 21:42:14841Durchsuche

How Can I Sort a NumPy Multidimensional Array by a Specific Column?

Mehrdimensionale Arrays in NumPy nach bestimmten Spalten sortieren

NumPy bietet leistungsstarke Array-Manipulationsfunktionen, einschließlich der Sortierung mehrdimensionaler Arrays nach bestimmten Spalten. Diese Funktionalität ist besonders nützlich für die Organisation und Analyse von Daten. Lassen Sie uns untersuchen, wie Sie eine spaltenbasierte Sortierung in NumPy erreichen.

Angenommen, wir haben ein NumPy-Array a mit mehreren Spalten:

a = numpy.array([[9, 2, 3],
                  [4, 5, 6],
                  [7, 0, 5]])

Um die Zeilen von a nach der zweiten Spalte zu sortieren, verwenden wir kann die Funktion argsort() nutzen. Es nimmt ein Array und gibt die Indizes zurück, die das Array sortieren würden. Durch Indizieren von a mit diesen sortierten Indizes können wir das gewünschte sortierte Array erhalten.

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

Diese Operation führt zu dem folgenden sortierten Array:

array([[7, 0, 5],
       [9, 2, 3],
       [4, 5, 6]])

Die Syntax a[:, 1 ] wählt die zweite Spalte (indiziert bei 1) aus dem Array a aus. Wenn argsort() auf diese Spalte angewendet wird, werden die sortierten Indizes erzeugt, die dann zum Sortieren der Zeilen verwendet werden.

Diese Technik ist äußerst effizient und vielseitig und ermöglicht das Sortieren nach jeder gewünschten Spalte in mehrdimensionalen Arrays. Es bietet eine praktische und leistungsstarke Möglichkeit, Daten zu organisieren und aussagekräftige Erkenntnisse daraus zu extrahieren.

Das obige ist der detaillierte Inhalt vonWie kann ich ein mehrdimensionales NumPy-Array nach einer bestimmten Spalte sortieren?. 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