Заполнение пропущенных значений NaN
Попробуем заполнить пропущенные значения с помощью метода .transform(). В предыдущем задании вы создали DataFrame fheroes, из которого были удалены все группы с недостаточным количеством наблюдений bmi. Однако в столбце bmi по-прежнему много пропущенных значений (NaN). Используя две копии DataFrame fheroes (imp_globmean и imp_grpmean), заполните пропуски NaN в столбце bmi: в первом случае — общим средним значением, во втором — средним значением по группам, определённым факторами Publisher и Alignment.
Подсказка: у объектов pandas Series и массивов NumPy есть специальный метод .fillna(), который заменяет все встреченные значения NaN на указанное в качестве аргумента значение.
Это упражнение является частью курса
Практика задач для собеседования по программированию на Python
Инструкции к упражнению
- Определите лямбда-функцию, которая заполняет значения
NaNвseriesеё средним значением. - Заполните пропуски
NaNв столбцеbmiDataFrameimp_globmeanобщим средним значением. - Заполните пропуски
NaNв столбцеbmiDataFrameimp_grpmeanсредним значением по группам.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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())