Comment inverser un DataFrame Pandas (avec exemple)
Vous pouvez utiliser la syntaxe de base suivante pour inverser les lignes d’un DataFrame pandas :
df_reversed = df[::-1]
Si vous souhaitez inverser les lignes du DataFrame et réinitialiser les valeurs d’index, vous pouvez utiliser la syntaxe suivante :
df_reversed = df[::-1].reset_index(drop=True)
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment inverser un DataFrame Pandas
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'points': [18, 22, 19, 14, 14, 11, 20, 28], 'assists': [5, 7, 7, 9, 12, 9, 9, 4]}) #view DataFrame print(df) team points assists 0 A 18 5 1 B 22 7 2 C 19 7 3 D 14 9 4 E 14 12 5 F 11 9 6 G 20 9 7 H 28 4
Nous pouvons utiliser la syntaxe suivante pour inverser les lignes du DataFrame :
#create new DataFrame with rows reversed df_reversed = df[::-1] #view new DataFrame print(df_reversed) team points assists 7 H 28 4 6 G 20 9 5 F 11 9 4 E 14 12 3 D 14 9 2 C 19 7 1 B 22 7 0 A 18 5
Notez que l’ordre des lignes du DataFrame a été inversé.
Cependant, chaque ligne contient toujours sa valeur d’index d’origine.
Si vous souhaitez inverser les lignes du DataFrame et réinitialiser les valeurs d’index, vous pouvez utiliser la syntaxe suivante :
#create reversed DataFrame and reset index values df_reversed = df[::-1].reset_index(drop=True) #view new DataFrame print(df_reversed) team points assists 0 H 28 4 1 G 20 9 2 F 11 9 3 E 14 12 4 D 14 9 5 C 19 7 6 B 22 7 7 A 18 5
Notez que l’ordre des lignes a été inversé et que les valeurs d’index ont été réinitialisées.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Comment sélectionner des lignes avec des valeurs NaN dans Pandas
Comment trouver la première rangée qui répond aux critères chez les pandas
Comment obtenir la dernière ligne dans Pandas