Remplissage des valeurs manquantes après une fusion (fillna())
Après une fusion de DataFrames, il peut y avoir des valeurs manquantes (NaN) si certaines correspondances n’ont pas été trouvées dans l’un des DataFrames. La méthode fillna() permet de remplir ces valeurs manquantes avec une valeur spécifique ou en utilisant une méthode d’interpolation ou de propagation. Vous pouvez spécifier une valeur à utiliser pour remplacer les NaN, par exemple une valeur numérique comme 0, une valeur de texte comme une chaîne vide, ou même utiliser des méthodes comme la propagation des valeurs voisines avec method=’ffill’ (pour remplir avec la valeur précédente) ou method=’bfill’ (pour remplir avec la valeur suivante). Cette opération est particulièrement utile pour s’assurer que le DataFrame final ne contient pas de valeurs manquantes après une fusion, ce qui peut rendre les analyses ou modèles plus robustes.
Fonctions :
-
df.fillna(valeur)
Permet de remplacer les valeurs manquantes (NaN) dans un DataFrame ou une Series par une valeur donnée ou une méthode de remplissage. Après une fusion (merge, join), il est fréquent d’avoir des NaN là où les données ne se recoupent pas : fillna() permet de rendre le jeu de données exploitable.
Importation :
import pandas as pd
Attributs :
Paramètre Type Description Valeur par défaut value
scalar, dict, Series, ou DataFrame Valeur(s) à utiliser pour remplir les NaN
. Peut être une valeur unique ou des valeurs spécifiques par colonne.Obligatoire method
{'ffill', 'bfill'} Méthode de propagation des valeurs : 'ffill'
(remplit avec la valeur précédente),'bfill'
(avec la suivante).None
axis
{0, 1} Applique le remplissage sur les lignes ( 0
) ou colonnes (1
).None
inplace
bool Si True
, modifie le DataFrame directement sans retour de copie.False
limit
int Nombre maximum de remplissages consécutifs à effectuer. None
Exemple de code :
import pandas as pd # Exemple de DataFrame après une fusion df = pd.DataFrame({ 'id': [1, 2, 3, 4], 'nom': ['Alice', 'Bob', 'Charlie', None], 'age': [25, None, 30, None] }) # Remplacer les valeurs manquantes df_rempli = df.fillna({ 'nom': 'Inconnu', 'age': df['age'].mean() }) print(df_rempli)
Explication du code :
Importation de la bibliothèque
import pandas as pd
Cette ligne importe la bibliothèque pandas, qui permet de manipuler des structures de données en Python.
Création d’un DataFrame avec des valeurs manquantes
df = pd.DataFrame({'id': [1, 2, 3, 4], 'nom': ['Alice', 'Bob', 'Charlie', None], 'age': [25, None, 30, None]})
On crée un DataFrame avec des valeurs manquantes dans les colonnes
nom
etage
. LeNone
représente les valeurs manquantes.Remplissage des valeurs manquantes
df_rempli = df.fillna({'nom': 'Inconnu', 'age': df['age'].mean()})
La méthode
fillna()
remplace les valeurs manquantes dans les colonnes spécifiées. Ici, les valeurs manquantes dans la colonnenom
sont remplacées par'Inconnu'
, et celles dansage
sont remplacées par la moyenne de la colonneage
.Affichage du DataFrame après remplacement
print(df_rempli)
Cette ligne affiche le DataFrame après avoir remplacé les valeurs manquantes par les valeurs spécifiées.