Základní použití .apply()
Pojďme si .apply() pořádně vyzkoušet v praxi!
Máš k dispozici kompletní dataset scores obsahující výsledky studentů spolu s jejich zázemím.
Tvým úkolem je definovat funkci prevalence() a aplikovat ji na sloupce groups_to_consider DataFramu scores. Tato funkce by měla vrátit nejčastěji se vyskytující skupinu/kategorii pro daný sloupec (např. pokud je nejčastější kategorií ve sloupci lunch hodnota standard, funkce prevalence() by měla vrátit standard).
Funkce reduce() z modulu functools je již naimportována.
Tip: pd.Series je iterovatelný objekt, takže na něm můžeš používat standardní operace.
Toto cvičení je součástí kurzu
Procvičování otázek z kódovacích pohovorů v Pythonu
Pokyny k cvičení
- Vytvoř seznam n-tic s unikátními prvky z předaného objektu
seriesa jejich počty výskytů. - Pomocí
reduce()extrahuj n-tici s nejvyšším počtem výskytů. - Vrať prvek s nejvyšším počtem výskytů.
- Aplikuj funkci prevalence na DataFrame
scoress použitím sloupců uvedených vgroups_to_consider.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)