Pandas : Comment réinitialiser l’index après avoir utilisé dropna()



Vous pouvez utiliser la syntaxe de base suivante pour réinitialiser un index d’un DataFrame pandas après avoir utilisé la fonction dropna() pour supprimer les lignes avec des valeurs manquantes :

df = df.dropna().reset_index(drop=True)

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : réinitialiser l’index dans Pandas après avoir utilisé dropna()

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

import pandas as pd
import numpy as np

#create dataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, np.nan, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, np.nan, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, np.nan, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A    18.0      5.0      11.0
1    B     NaN      7.0       8.0
2    C    19.0      7.0      10.0
3    D    14.0      9.0       6.0
4    E    14.0     12.0       6.0
5    F    11.0      NaN       5.0
6    G    20.0      9.0       NaN
7    H    28.0      4.0      12.0

Supposons maintenant que nous utilisions la fonction dropna() pour supprimer toutes les lignes du DataFrame qui ont une valeur manquante dans une colonne :

#drop rows with nan values in any column
df = df.dropna()

#view updated DataFrame
print(df)

  team  points  assists  rebounds
0    A    18.0      5.0      11.0
2    C    19.0      7.0      10.0
3    D    14.0      9.0       6.0
4    E    14.0     12.0       6.0
7    H    28.0      4.0      12.0

Notez que l’index contient toujours les valeurs d’index d’origine pour chaque ligne.

Pour réinitialiser l’index après avoir utilisé la fonction dropna() , nous pouvons utiliser la syntaxe suivante :

#drop rows with nan values in any column
df = df.dropna().reset_index(drop=True)

#view updated DataFrame
print(df)

  team  points  assists  rebounds
0    A    18.0      5.0      11.0
1    C    19.0      7.0      10.0
2    D    14.0      9.0       6.0
3    E    14.0     12.0       6.0
4    H    28.0      4.0      12.0

Notez que chacune des lignes avec des valeurs manquantes ont été supprimées et que les valeurs d’index ont été réinitialisées.

Les valeurs de l’indice vont désormais de 0 à 4.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment imprimer le DataFrame Pandas sans index
Comment filtrer par valeur d’index dans Pandas
Comment utiliser la première colonne comme index dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *