Enkel användning av .apply()
Nu får du lite praktisk erfarenhet av .apply()!
Du har tillgång till hela datamängden scores, som innehåller information om studenters prestationer och bakgrund.
Din uppgift är att definiera funktionen prevalence() och applicera den på kolumnerna i groups_to_consider i DataFrame:n scores. Funktionen ska returnera den vanligast förekommande gruppen/kategorin för en given kolumn (t.ex. om den vanligaste kategorin i kolumnen lunch är standard, ska prevalence() returnera standard).
Funktionen reduce() från modulen functools är redan importerad.
Tips: pd.Series är ett Iterable-objekt, så du kan använda vanliga iterationsoperationer på det.
Den här övningen är en del av kursen
Öva på kodningsintervjufrågor i Python
Övningsinstruktioner
- Skapa en lista med tupler som innehåller unika värden från det skickade objektet
seriesoch deras respektive antal. - Extrahera den tupel med högst antal med hjälp av
reduce(). - Returnera värdet med högst antal.
- Applicera funktionen prevalence på DataFrame:n
scoresmed de kolumner som anges igroups_to_consider.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)