Заміна rating медіаною в межах групи
У попередній вправі ви замінювали пропущені значення в стовпці rating на медіану всього стовпця. Але чи можна краще? Так! Можна замінити пропуски на медіанне значення рейтингу шоколадок з тієї самої компанії. Зробімо це!
Є заздалегідь визначена функція replace_missing(), яка приймає два аргументи — датафрейм group і стовпець col. Вона намагається обчислити медіану стовпця col і повертає її в разі успіху. Якщо обчислити медіану не вдається, наприклад, через відсутність значень, функція повертає заздалегідь визначене значення.
Набір даних chocolates, а також пакети DataFrames і Statistics уже завантажено для вас.
Ця вправа є частиною курсу
Опрацювання даних у Julia
Інструкції до вправи
- Згрупуйте
chocolatesзаcompanyі пройдіться ітерацією по GroupedDataFrame. - Відіберіть у кожній групі рядки за допомогою
ismissing()і стовпцяrating, замінивши пропущені значення значенням, яке повертає функціяreplace_missing().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Group by company and iterate
for group in ____(____)
# Subset each group using ismissing() and the rating column, assign a new value
group[____, ____] .= replace_missing(group, :rating)
end
println(describe(chocolates, :nmissing))