1. Description de a méthode pandas.DataFrame.sort_index() python
La fonction Pandas dataframe.sort_index() trie les objets dataframes par étiquettes le long de l'axe donné.
Fondamentalement, l'algorithme de tri est appliqué sur les étiquettes d'axe plutôt que sur les données réelles du dataframe, les données sont réorganisées. Nous avons la liberté de choisir l'algorithme de tri que nous souhaitons appliquer. Il existe trois algorithmes de tri possibles que nous pouvons utiliser 'quicksort', 'mergesort' et 'heapsort'.
2. Syntaxe et Paramètres la méthode pandas.DataFrame.sort_index()
Cette fonction prend plusieurs paramètres tels que axis, level, ascending, inplace, kind, na_position, sort_remaining, ignore_index et key et renvoie un nouveau DataFrame avec le résultat trié. Utilisez inplace=True pour mettre à jour le DataFrame existant.
Syntaxe
1 |
DataFrame.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None) |
- axis: Axe à trier, défini par défaut sur 0. 0 ou 'index' & 1 ou 'columns'
- level: f not None, trier sur les valeurs dans le(s) niveau(x) d'index spécifié(s)
- ascending: bool ou liste de bool. Indiquez de faire un tri par ordre croissant ou décroissant. Croissant par défaut.
- inplace: Si True, met à jour le DataFrame existant. La valeur par défaut est False.
- kind: Alorithme de tri à choisir parmi {'quicksort', 'mergesort', 'heapsort', 'stable'}, par défaut 'quicksort'
- na_position: Spécifiez où conserver les NaN. {'first', 'last'}, la valeur par défaut est 'last'.
- sort_remaining: Si vrai et que le tri par niveau et index est à plusieurs niveaux, trier également par d'autres niveaux (dans l'ordre) après le tri par niveau spécifié
- ignore_index: Spécifiez pour réinitialiser l'index à partir de zéro. La valeur par défaut est false.
- key: appelable, facultative
3. Exemples d'usages de la méthode DataFrame.sort_index()
Exemple1 (sort_index() par défaut)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pan dictData = {'ID' : [31, 71, 30 , 11 , 23] , 'Nom': ['Anna', 'Romio', 'Rose' , 'Alba' , 'Louis'], 'Age': [22, 21, 20, 20 , 23], 'Taille': [170, 190, 181 , 175 , 165]} df = pan.DataFrame(dictData , index=[235 , 155 , 243 , 311 , 117]) # Trier le DataFrame par défaut print(df.sort_index()) """ output: ID Nom Age Taille 117 23 Louis 23 165 155 71 Romio 21 190 235 31 Anna 22 170 243 30 Rose 20 181 311 11 Alba 20 175 """ |
Exemple 2 (sort_index() avec paramètre ascending=False)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pan dictData = {'ID' : [31, 71, 30 , 11 , 23] , 'Nom': ['Anna', 'Romio', 'Rose' , 'Alba' , 'Louis'], 'Age': [22, 21, 20, 20 , 23], 'Taille': [170, 190, 181 , 175 , 165]} df = pan.DataFrame(dictData , index=[235 , 155 , 243 , 311 , 117]) # Trier le DataFrame par index décroissant print(df.sort_index(ascending=False)) """ output: ID Nom Age Taille 311 11 Alba 20 175 243 30 Rose 20 181 235 31 Anna 22 170 155 71 Romio 21 190 117 23 Louis 23 165 """ |
Exemple 3 (trier le dataframe avec ignore_index=True)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pan dictData = {'ID' : [31, 71, 30 , 11 , 23] , 'Nom': ['Anna', 'Romio', 'Rose' , 'Alba' , 'Louis'], 'Age': [22, 21, 20, 20 , 23], 'Taille': [170, 190, 181 , 175 , 165]} df = pan.DataFrame(dictData , index=[235 , 155 , 243 , 311 , 117]) # Trier le DataFrame avec ignore_index=True print(df.sort_index(ignore_index=True)) """ output: ID Nom Age Taille 0 23 Louis 23 165 1 71 Romio 21 190 2 31 Anna 22 170 3 30 Rose 20 181 4 11 Alba 20 175 """ |
Exemple 4 (trier le dataframe par colonnes)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pan dictData = {'ID' : [31, 71, 30 , 11 , 23] , 'Nom': ['Anna', 'Romio', 'Rose' , 'Alba' , 'Louis'], 'Age': [22, 21, 20, 20 , 23], 'Taille': [170, 190, 181 , 175 , 165]} df = pan.DataFrame(dictData , index=[235 , 155 , 243 , 311 , 117]) # Trier le DataFrame par colonnes print(df.sort_index(axis=1)) """ output: Age ID Nom Taille 235 22 31 Anna 170 155 21 71 Romio 190 243 20 30 Rose 181 311 20 11 Alba 175 117 23 23 Louis 165 """ |
Younes Derfoufi
CRMEF OUJDA