> Modules non standards > Pandas > Tri de Dataframes
Tri de Dataframes
Tri selon les étiquettes de lignes ou de colonnes :
df.sort_index(axis = 0, ascending = False) : renvoie un dataframe avec les lignes triées par ordre décroissant des labels (le défaut est ascendant) :
A B C D
a3 5.3 9 1.5 15
a2 2.7 10 5.4 7
a1 1.1 2 3.3 4
df.sort_index(axis = 1, ascending = False) : renvoie un dataframe avec les colonnes triées par ordre décroissant des labels :
D C B A
a1 4 3.3 2 1.1
a2 7 5.4 10 2.7
a3 15 1.5 9 5.3
Tri selon les valeurs :
df.sort_values(by = 'C') : renvoie un dataframe avec les lignes triées de telle sorte que la colonne 'C' soit dans l'ordre croissant :
A B C D
a3 5.3 9 1.5 15
a1 1.1 2 3.3 4
a2 2.7 10 5.4 7
df.sort_values(by = ['C', 'A']) : tri selon 2 colonnes successives, d'abord C, puis A.
df.sort_values(by = 'C', ascending = False) : tri par ordre décroissant.
df.sort_values(by = ['C', 'A'], ascending = [True, False]) : tri selon 2 clefs, la première par ordre croissant et la 2ème par ordre décroissant.
df.sort_values(by = 'C', inplace = True) : ne renvoie rien et fait le tri en place.
df.sort_values(..., kind = 'mergesort') : utilise mergesort qui est un algorithme de tri stable (ne change pas l'ordre initial si valeurs de clefs identiques). Le défaut est quicksort qui n'est pas stable.
Pour trier sur une colonne calculée : df = df.assign(newCol = df['A'] + df['C']).sort_values('newCol').drop('newCol', axis = 1)
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert