НачатьНачать бесплатно

Простое использование .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)
Редактировать и запускать код