CommencerCommencez gratuitement

Imputation des valeurs NaN

Essayons d’imputer certaines valeurs à l’aide de la méthode .transform(). Dans la tâche précédente, vous avez créé un DataFrame fheroes où tous les groupes avec un nombre insuffisant d’observations bmi ont été supprimés. Cependant, notre colonne bmi contient beaucoup de valeurs manquantes (NaN). Étant donné deux copies du DataFrame fheroes (imp_globmean et imp_grpmean), votre objectif est d’imputer les NaN de la colonne bmi avec, respectivement, la moyenne globale et la moyenne par groupe défini par les facteurs Publisher et Alignment.

Astuce : les Series pandas et les tableaux NumPy disposent d’une méthode spéciale .fillna() qui remplace toutes les valeurs NaN rencontrées par la valeur fournie en argument.

Cet exercice fait partie du cours

<cours>S’exercer aux questions d’entretien de code en Python</cours>
Voir le cours

Instructions de l’exercice

  • Définissez une fonction lambda qui impute les valeurs NaN dans series avec sa moyenne.
  • Imputez les NaN de la colonne bmi de imp_globmean avec la moyenne globale.
  • Imputez les NaN de la colonne bmi de imp_grpmean avec la moyenne par groupe.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Define a lambda function that imputes NaN values in series
impute = lambda series: ____

# Impute NaNs in the bmi column of imp_globmean
imp_globmean['bmi'] = ____
print("Global mean = " + str(fheroes['bmi'].mean()) + "\n")

groups = imp_grpmean.groupby(['Publisher', 'Alignment'])

# Impute NaNs in the bmi column of imp_grpmean
imp_grpmean['bmi'] = groups[____].____
print(groups['bmi'].mean())
Modifier et exécuter le code