Просте використання .apply()
Дістаньмося до практики з .apply()!
Вам надано повний набір даних scores, що містить результати учнів і їхні анкетні відомості.
Ваше завдання — визначити функцію prevalence() і застосувати її до стовпців groups_to_consider датафрейму scores. Ця функція має повертати найпоширенішу групу/категорію для заданого стовпця (напр., якщо найпоширеніша категорія у стовпці lunch — це standard, тоді prevalence() має повернути standard).
Функцію reduce() з модуля functools уже імпортовано.
Підказка: pd.Series — це об'єкт Iterable. Тому ви можете використовувати стандартні операції з ним.
Ця вправа є частиною курсу
Практика співбесід із програмування на Python
Інструкції до вправи
- Створіть список кортежів з унікальними елементами з переданого об'єкта
seriesта їхніми підрахунками. - Видобудьте кортеж із найбільшою кількістю за допомогою
reduce(). - Поверніть елемент із найбільшою кількістю.
- Застосуйте функцію prevalence до датафрейму
scores, використавши стовпці, задані уgroups_to_consider.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
def prevalence(series):
vals = list(series)
# Create a tuple list with unique items and their counts
itms = [(____, ____) for x in set(____)]
# Extract a tuple with the highest counts using reduce()
res = reduce(lambda x, y: ____, ____)
# Return the item with the highest counts
return ____[____]
# Apply the prevalence function on the scores DataFrame
result = scores[groups_to_consider].____
print(result)