Pandas : comment remplir les valeurs NaN avec les valeurs d’une autre colonne
Vous pouvez utiliser la syntaxe suivante pour remplacer les valeurs NaN dans une colonne d’un DataFrame pandas par les valeurs d’une autre colonne :
df['col1'] = df['col1'].fillna(df['col2'])
Cette syntaxe particulière remplacera toutes les valeurs NaN dans col1 par les valeurs correspondantes dans col2 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Remplacer les valeurs manquantes par une autre colonne
Supposons que nous ayons le DataFrame pandas suivant avec quelques valeurs manquantes :
import numpy as np import pandas as pd #create DataFrame with some NaN values df = pd.DataFrame({'team1': ['Mavs', np.nan, 'Nets', 'Hawks', np.nan, 'Jazz'], 'team2': ['Spurs', 'Lakers', 'Kings', 'Celtics', 'Heat', 'Magic']}) #view DataFrame df team1 team2 0 Mavs Spurs 1 NaN Lakers 2 Nets Kings 3 Hawks Celtics 4 NaN Heat 5 Jazz Magic
Notez qu’il y a deux valeurs NaN dans la colonne team1 .
Nous pouvons utiliser la fonction fillna() pour remplir les valeurs NaN de la colonne team1 avec la valeur correspondante dans la colonne team2 :
#fill NaNs in team1 column with corresponding values in team2 column df['team1'] = df['team1'].fillna(df['team2']) #view updated DataFrame df team1 team2 0 Mavs Spurs 1 Lakers Lakers 2 Nets Kings 3 Hawks Celtics 4 Heat Heat 5 Jazz Magic
Notez que les deux valeurs NaN de la colonne team1 ont été remplacées par les valeurs correspondantes dans la colonne team2 .
Remarque : Vous pouvez trouver la documentation complète en ligne de la fonction fillna() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment compter les valeurs manquantes chez les pandas
Comment supprimer des lignes avec des valeurs NaN dans Pandas
Comment supprimer des lignes contenant une valeur spécifique dans Pandas