Comment remplir les valeurs NA pour plusieurs colonnes dans Pandas
La fonction pandas fillna() est utile pour remplir les valeurs manquantes dans les colonnes d’un pandas DataFrame.
Ce didacticiel fournit plusieurs exemples d’utilisation de cette fonction pour remplir les valeurs manquantes pour plusieurs colonnes du DataFrame pandas suivant :
import pandas as pd import numpy as np #create DataFrame df = pd.DataFrame({'team': ['A', np.nan, 'B', 'B', 'B', 'C', 'C', 'C'], 'points': [25, np.nan, 15, np.nan, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, np.nan, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print(df) team points assists rebounds 0 A 25.0 5.0 11 1 NaN NaN 7.0 8 2 B 15.0 7.0 10 3 B NaN 9.0 6 4 B 19.0 12.0 6 5 C 23.0 9.0 5 6 C 25.0 NaN 9 7 C 29.0 4.0 12
Exemple 1 : Remplissez les valeurs manquantes de toutes les colonnes
Le code suivant montre comment remplir les valeurs manquantes avec un zéro pour toutes les colonnes du DataFrame :
#replace all missing values with zero df.fillna(value=0, inplace=True) #view DataFrame print(df) team points assists rebounds 0 A 25.0 5.0 11 1 0 0.0 7.0 8 2 B 15.0 7.0 10 3 B 0.0 9.0 6 4 B 19.0 12.0 6 5 C 23.0 9.0 5 6 C 25.0 0.0 9 7 C 29.0 4.0 12
Exemple 2 : Remplissez les valeurs manquantes de plusieurs colonnes
Le code suivant montre comment remplir les valeurs manquantes avec un zéro uniquement pour les colonnes de points et d’assistance du DataFrame :
#replace missing values in points and assists columns with zero df[['points', 'assists']] = df[['points', 'assists']].fillna(value=0) #view DataFrame print(df) team points assists rebounds 0 A 25.0 5.0 11 1 NaN 0.0 7.0 8 2 B 15.0 7.0 10 3 B 0.0 9.0 6 4 B 19.0 12.0 6 5 C 23.0 9.0 5 6 C 25.0 0.0 9 7 C 29.0 4.0 12
Exemple 3 : Remplissez les valeurs manquantes de plusieurs colonnes avec des valeurs différentes
Le code suivant montre comment remplir les valeurs manquantes dans trois colonnes différentes avec trois valeurs différentes :
#replace missing values in three columns with three different values df.fillna({'team':'Unknown', 'points': 0, 'assists': 'zero'}, inplace=True) #view DataFrame print(df) team points assists rebounds 0 A 25.0 5 11 1 Unknown 0.0 7 8 2 B 15.0 7 10 3 B 0.0 9 6 4 B 19.0 12 6 5 C 23.0 9 5 6 C 25.0 zero 9 7 C 29.0 4 12
Notez que chacune des valeurs manquantes dans les trois colonnes a été remplacée par une valeur unique.