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>Instructions de l’exercice
- Définissez une fonction lambda qui impute les valeurs
NaNdansseriesavec sa moyenne. - Imputez les
NaNde la colonnebmideimp_globmeanavec la moyenne globale. - Imputez les
NaNde la colonnebmideimp_grpmeanavec 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())