Maison >développement back-end >Tutoriel Python >Comment trier un tableau NumPy par une colonne spécifique ?

Comment trier un tableau NumPy par une colonne spécifique ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-04 17:54:11594parcourir

How to Sort a NumPy Array by a Specific Column?

Tri des tableaux NumPy en fonction de colonnes spécifiques

Cette requête répond à la nécessité de trier un tableau NumPy en fonction de sa nième colonne désignée. Pour illustrer, travaillons avec un tableau 'a' :

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

Notre objectif est de trier les lignes de la matrice 'a' en fonction de sa deuxième colonne, ce qui donne :

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

Pour y parvenir, nous pouvons exploiter la possibilité de découper des tableaux NumPy en fonction d'indices et d'exploiter la fonction argsort. Le code ci-dessous montre la solution :

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

Décomposer ce code :

  1. a[:, 1] : Ceci sélectionne la deuxième colonne de ' a'.
  2. .argsort() : Ceci génère un tableau d'indices représentant le ordre trié des éléments dans la deuxième colonne.
  3. a[a[:, 1].argsort()] : Ceci réorganise les lignes de 'a' en fonction des indices triés, conduisant au résultat souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn