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

Ajouter un commentaire

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