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

Wie sortiere ich ein NumPy-Array nach einer bestimmten Spalte?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-04 17:54:11594Durchsuche

How to Sort a NumPy Array by a Specific Column?

Sortieren von NumPy-Arrays basierend auf bestimmten Spalten

Diese Abfrage befasst sich mit der Notwendigkeit, ein NumPy-Array entsprechend seiner festgelegten n-ten Spalte zu sortieren. Zur Veranschaulichung arbeiten wir mit einem Array „a“:

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

Unser Ziel ist es, die Zeilen der Matrix „a“ basierend auf ihrer zweiten Spalte zu sortieren, was zu Folgendem führt:

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

Um dies zu erreichen, können wir die Fähigkeit nutzen, NumPy-Arrays basierend auf Indizes aufzuteilen und die Argsort-Funktion zu nutzen. Der folgende Code zeigt die Lösung:

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

Diesen Code aufschlüsseln:

  1. a[:, 1]: Dies wählt die zweite Spalte von ' a'.
  2. .argsort(): Dies generiert ein Array von Indizes, die das darstellen sortierte Reihenfolge der Elemente in der zweiten Spalte.
  3. a[a[:, 1].argsort()]: Dies ordnet die Zeilen von 'a' entsprechend den sortierten Indizes neu an, was zum gewünschten Ergebnis führt.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein NumPy-Array 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