Zacznij terazZacznij za darmo

Proste zastosowanie metody .apply()

Czas zdobyć praktyczne doświadczenie z metodą .apply()!

Dysponujesz pełnym zbiorem danych scores, który zawiera wyniki uczniów oraz informacje o ich tle.

Twoim zadaniem jest zdefiniowanie funkcji prevalence() i zastosowanie jej do kolumn z listy groups_to_consider w DataFrame scores. Funkcja powinna zwracać najczęściej występującą grupę/kategorię dla danej kolumny (np. jeśli najczęstszą kategorią w kolumnie lunch jest standard, funkcja prevalence() powinna zwrócić standard).

Funkcja reduce() z modułu functools jest już zaimportowana.

Wskazówka: pd.Series to obiekt iterowalny, dlatego możesz wykonywać na nim standardowe operacje.

To ćwiczenie jest częścią kursu

Ćwiczenie pytań na rozmowach kwalifikacyjnych z programowania w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz listę krotek zawierającą unikalne elementy z przekazanego obiektu series wraz z liczbą ich wystąpień.
  • Wyodrębnij krotkę z najwyższą liczbą wystąpień, używając funkcji reduce().
  • Zwróć element z najwyższą liczbą wystąpień.
  • Zastosuj funkcję prevalence na DataFrame scores, używając kolumn podanych w groups_to_consider.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod