Utilisation simple de .apply()
Passons à une mise en pratique de .apply() !
On vous fournit l’ensemble de données complet scores, qui contient les résultats des élèves ainsi que leurs informations de contexte.
Votre tâche est de définir la fonction prevalence() et de l’appliquer aux colonnes groups_to_consider du DataFrame scores. Cette fonction doit récupérer le groupe/la catégorie la plus fréquente pour une colonne donnée (par exemple, si la catégorie la plus fréquente dans la colonne lunch est standard, alors prevalence() doit renvoyer standard).
La fonction reduce() du module functools est déjà importée.
Astuce : pd.Series est un objet Iterable. Vous pouvez donc utiliser des opérations standard dessus.
Cet exercice fait partie du cours
<cours>S’exercer aux questions d’entretien de code en Python</cours>Instructions de l’exercice
- Créez une liste de tuples avec les éléments uniques de l’objet
seriespassé et leur nombre d’occurrences. - Extrayez le tuple avec le nombre d’occurrences le plus élevé en utilisant
reduce(). - Renvoyez l’élément ayant le plus grand nombre d’occurrences.
- Appliquez la fonction prevalence au DataFrame
scoresen utilisant les colonnes spécifiées dansgroups_to_consider.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)