Eenvoudig gebruik van .apply()
Aan de slag met .apply()!
Je krijgt de volledige scores-gegevensset met de prestaties van leerlingen en hun achtergrondinformatie.
Je taak is om de functie prevalence() te definiëren en die toe te passen op de kolommen in groups_to_consider van de DataFrame scores. Deze functie moet de meest voorkomende groep/categorie voor een gegeven kolom ophalen (bijv. als de meest voorkomende categorie in de kolom lunch standard is, dan moet prevalence() standard retourneren).
De functie reduce() uit de module functools is al geïmporteerd.
Tip: pd.Series is een Iterable-object. Je kunt er dus standaardbewerkingen op gebruiken.
Deze oefening maakt deel uit van de cursus
Oefenen met coding-interviewvragen in Python
Oefeninstructies
- Maak een lijst van tuples met unieke items uit het doorgegeven object
seriesen hun tellingen. - Haal met
reduce()de tuple met de hoogste telling op. - Retourneer het item met de hoogste telling.
- Pas de functie prevalence toe op de DataFrame
scoresvoor de kolommen die zijn opgegeven ingroups_to_consider.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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)