Utilisation simple de .apply()
Mettons un peu la main à la pâte avec .apply()!
On vous fournit l'ensemble de données complet scores, qui contient la performance des élèves ainsi que leurs renseignements contextuels.
Votre tâche est de définir la fonction prevalence() et de l'appliquer aux colonnes indiquées par groups_to_consider du DataFrame scores. Cette fonction doit récupérer le groupe/la catégorie le plus courant pour une colonne donnée (p. ex., si la catégorie la plus fréquente dans la colonne lunch est standard, alors prevalence() doit retourner standard).
La fonction reduce() du module functools est déjà importée.
Conseil : pd.Series est un objet itérable. Vous pouvez donc y appliquer des opérations standards.
Cette activité fait partie du cours
S'entraîner aux questions d'entrevue de programmation en Python
Instructions de l’exercice
- Créez une liste de couples contenant les éléments uniques de l'objet
seriestransmis et leur nombre d'occurrences. - Extrayez le couple ayant le plus grand dénombrement à l'aide de
reduce(). - Retournez l'élément avec le plus grand dénombrement.
- Appliquez la fonction prevalence au DataFrame
scoresen utilisant les colonnes indiqué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)