Comment trier un tableau NumPy par colonne (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour trier les lignes d’un tableau NumPy par valeurs de colonne :
Méthode 1 : Trier par valeurs de colonne par ordre croissant
x_sorted_asc = x[x[:, 1].argsort()]
Méthode 2 : Trier par valeurs de colonne décroissantes
x_sorted_desc = x[x[:, 1].argsort()[::-1]]
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : trier le tableau Numpy par valeurs de colonne par ordre croissant
Supposons que nous ayons le tableau NumPy suivant :
import numpy as np #create array x = np.array([14, 12, 8, 10, 5, 7, 11, 9, 2]).reshape(3,3) #view array print(x) [[14 12 8] [10 5 7] [11 9 2]]
Nous pouvons utiliser le code suivant pour trier les lignes du tableau NumPy par ordre croissant en fonction des valeurs de la deuxième colonne :
#define new matrix with rows sorted in ascending order by values in second column
x_sorted_asc = x[x[:, 1].argsort()]
#view sorted matrix
print(x_sorted_asc)
[[10 5 7]
[11 9 2]
[14 12 8]]
Notez que les lignes sont désormais triées par ordre croissant (de la plus petite à la plus grande) en fonction des valeurs de la deuxième colonne.
Exemple 2 : Trier le tableau Numpy par valeurs de colonne décroissantes
Supposons que nous ayons le tableau NumPy suivant :
import numpy as np #create array x = np.array([14, 12, 8, 10, 5, 7, 11, 9, 2]).reshape(3,3) #view array print(x) [[14 12 8] [10 5 7] [11 9 2]]
Nous pouvons utiliser le code suivant pour trier les lignes du tableau NumPy par ordre décroissant en fonction des valeurs de la deuxième colonne :
#define new matrix with rows sorted in descending order by values in second column
x_sorted_desc = x[x[:, 1].argsort()[::-1]]
#view sorted matrix
print(x_sorted_desc)
[[14 12 8]
[11 9 2]
[10 5 7]]
Notez que les lignes sont désormais triées par ordre décroissant (de la plus grande à la plus petite) en fonction des valeurs de la deuxième colonne.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :
Comment trouver l’indice de valeur dans le tableau NumPy
Comment obtenir une colonne spécifique à partir d’un tableau NumPy
Comment ajouter une colonne à un tableau NumPy