Uso semplice di .apply()
Facciamo un po’ di pratica con .apply()!
Ti viene fornito l’intero insieme di dati scores, con le prestazioni degli studenti e le loro informazioni di background.
Il tuo compito è definire la funzione prevalence() e applicarla alle colonne groups_to_consider del DataFrame scores. Questa funzione deve recuperare il gruppo/categoria più frequente per una data colonna (ad esempio, se la categoria più frequente nella colonna lunch è standard, allora prevalence() dovrebbe restituire standard).
La funzione reduce() dal modulo functools è già importata.
Suggerimento: pd.Series è un oggetto Iterable. Puoi quindi usarci sopra le operazioni standard.
Questo esercizio fa parte del corso
Esercitarsi con le domande di colloquio di coding in Python
Istruzioni dell'esercizio
- Crea una lista di tuple con gli elementi unici dell’oggetto
seriespassato e i rispettivi conteggi. - Estrai la tupla con il conteggio più alto usando
reduce(). - Restituisci l’elemento con il conteggio più alto.
- Applica la funzione prevalence al DataFrame
scoresusando le colonne specificate ingroups_to_consider.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)