Imputação de valores NaN
Vamos imputar alguns valores usando o método .transform(). Na tarefa anterior, você criou um DataFrame fheroes em que todos os grupos com quantidade insuficiente de observações de bmi foram removidos. No entanto, nossa coluna bmi tem muitos valores ausentes (NaNs). Dadas duas cópias do DataFrame fheroes (imp_globmean e imp_grpmean), sua tarefa é imputar os NaNs na coluna bmi com o valor médio geral e com o valor médio por grupo definido pelos fatores Publisher e Alignment, respectivamente.
Dica: objetos Series do pandas e arrays do NumPy têm um método especial .fillna() que substitui todos os NaNs encontrados por um valor informado como argumento.
Este exercício faz parte do curso
Praticando questões de entrevista de código em Python
Instruções do exercício
- Defina uma função lambda que impute valores
NaNemseriespela sua média. - Impute os
NaNs na colunabmideimp_globmeanpela média geral. - Impute os
NaNs na colunabmideimp_grpmeanpela média por grupo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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())