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

Comment trier les lignes d'un tableau NumPy par une colonne spécifique ?

DDD
DDDoriginal
2024-11-28 21:27:18845parcourir

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

Tri des tableaux dans NumPy par colonne

Le tri des tableaux par colonnes est une tâche courante dans l'analyse et la manipulation de données. NumPy fournit des moyens efficaces pour effectuer cette opération.

Question :

Étant donné un tableau NumPy avec plusieurs colonnes, comment pouvez-vous trier ses lignes par une colonne spécifique ?

Exemple :

Considérez le tableau suivant a:

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

On veut trier les lignes de a par la deuxième colonne (colonne 1, indexée à partir de 0) pour obtenir :

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

Réponse :

Pour trier un par sa deuxième colonne, utilisez le code suivant :

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

Ceci expression obtient le résultat souhaité car :

  1. a[:, 1] sélectionne la deuxième colonne de a.
  2. argsort() renvoie les indices qui trieraient la colonne par ordre croissant.
  3. Indexer a avec ces indices trie les lignes de a en conséquence.

Par conséquent, cette approche fournit un moyen pratique et efficace de trier les tableaux NumPy selon n'importe quelle colonne spécifiée.

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