Trier un tableau selon deux colonnes
Résolu
commentcamarcheeay
Messages postés
667
Date d'inscription
Statut
Membre
Dernière intervention
-
commentcamarcheeay Messages postés 667 Date d'inscription Statut Membre Dernière intervention -
commentcamarcheeay Messages postés 667 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un tableau numérique
Le tri doit être fait par rapport à une première colonne, puis par rapport à une deuxième.
La méthode
Je me demande s'il y a moyen de le faire (bien évidement, sans passer par les boucles, sinon, on perd de performance).
Je vous remercie d'avance,
J'ai un tableau numérique
numpyque je veux trier selon deux colonne.
Le tri doit être fait par rapport à une première colonne, puis par rapport à une deuxième.
La méthode
sortde numpy permet de faire des opérations de tri, mais pas selon deux colonnes, à moins d'utiliser l'argument
order, ce qui impose d'avoir des tableaux structurés.
Je me demande s'il y a moyen de le faire (bien évidement, sans passer par les boucles, sinon, on perd de performance).
Je vous remercie d'avance,
A voir également:
- Trier un tableau selon deux colonnes
- Trier un tableau excel - Guide
- Tableau word - Guide
- Comment faire deux colonnes sur word - Guide
- Tableau ascii - Guide
- Formule moyenne excel plusieurs colonnes - Guide
2 réponses
Difficile de tout comprendre, mais la documentation indique comment trier selon deux colonnes.
commentcamarcheeay
Messages postés
667
Date d'inscription
Statut
Membre
Dernière intervention
86
Ce que vous proposez répond bien à la question, merci :)
Bonjour,
Fred propose d'utiliser
Voici un exemple d'utilisation :
J'ai mis cet exemple car celui contenu dans la documentation est très basique fait appliqué à des chaînes de caractères.
Fred propose d'utiliser
numpy.lexsort. Ce qui répond bien à la question.
Voici un exemple d'utilisation :
# On crée un tableau (30x2) d'entiers aléatoires compris entre 0 et 99 a = np.random.randint(100, size=(30, 2)) # idx contient les indices du tri du tableau a selon la première # colonne, puis selon la seconde. # C'est le même principe de numpy.argsort idx = np.lexsort((a[:, 1], a[:, 0],)) # a[idx] est le tableau trié res = a[idx]
J'ai mis cet exemple car celui contenu dans la documentation est très basique fait appliqué à des chaînes de caractères.