Utilizare simplă a .apply()
Hai să exersăm cu .apply()!
Îți este oferit setul de date complet scores, care conține atât performanțele elevilor, cât și informații despre contextul lor.
Sarcina ta este să definești funcția prevalence() și să o aplici pe coloanele din groups_to_consider ale DataFrame-ului scores. Această funcție ar trebui să returneze categoria cea mai frecventă pentru o coloană dată (de exemplu, dacă cea mai frecventă categorie din coloana lunch este standard, atunci prevalence() ar trebui să returneze standard).
Funcția reduce() din modulul functools este deja importată.
Indiciu: pd.Series este un obiect iterabil. Prin urmare, poți folosi operații standard pe acesta.
Acest exercițiu face parte din cursul
Exersarea întrebărilor de interviu de programare în Python
Instrucțiuni pentru exercițiu
- Creează o listă de tupluri cu elementele unice din obiectul
seriesprimit și numărul lor de apariții. - Extrage tuplu-ul cu cel mai mare număr de apariții folosind
reduce(). - Returnează elementul cu cel mai mare număr de apariții.
- Aplică funcția
prevalencepe DataFrame-ulscoresfolosind coloanele specificate îngroups_to_consider.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)