Простое использование .apply()
Давайте получим практический опыт работы с .apply()!
Вам предоставлен полный набор данных scores, содержащий информацию об успеваемости студентов и их анкетных данных.
Ваша задача — определить функцию prevalence() и применить её к столбцам groups_to_consider датафрейма scores. Функция должна возвращать наиболее часто встречающуюся группу или категорию для заданного столбца (например, если самая распространённая категория в столбце lunch — это standard, то prevalence() должна вернуть standard).
Функция reduce() из модуля functools уже импортирована.
Подсказка: pd.Series — это итерируемый объект, поэтому над ним можно выполнять стандартные операции.
Это упражнение является частью курса
Практика задач для собеседования по программированию на 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)