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
Instrukcje do ćwiczenia
- Utwórz listę krotek zawierającą unikalne elementy z przekazanego obiektu
serieswraz 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 wgroups_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)