Imputation des valeurs NaN
Essayons d'imputer certaines valeurs en utilisant la méthode .transform(). Dans la tâche précédente, vous avez créé un DataFrame fheroes où tous les groupes ayant un nombre insuffisant d'observations bmi ont été retirés. Notre colonne bmi contient toutefois de nombreuses valeurs manquantes (NaN). Étant donné deux copies du DataFrame fheroes (imp_globmean et imp_grpmean), votre tâche consiste à imputer les NaN de la colonne bmi avec, respectivement, la moyenne globale et la moyenne par groupe définie par les facteurs Publisher et Alignment.
Conseil : les objets Series de pandas et les tableaux NumPy offrent une méthode spéciale .fillna() qui remplace toutes les occurrences de NaN par une valeur fournie en argument.
Cette activité fait partie du cours
S'entraîner aux questions d'entrevue de programmation en Python
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())