Să legăm totul cap la cap: z-scorurile Pokémon
O listă cu 720 de Pokémon a fost încărcată în sesiunea ta sub numele names. Punctele de Sănătate (Health Points) ale fiecărui Pokémon sunt stocate într-un array NumPy numit hps. Vrei să analizezi aceste valori folosind z-scorul, pentru a vedea cu câte abateri standard diferă HP-ul fiecărui Pokémon față de media tuturor HP-urilor.
Codul de mai jos a fost scris pentru a calcula z-scorul HP pentru fiecare Pokémon și pentru a-i selecta pe cei cu cele mai mari HP-uri în funcție de z-scorurile lor:
poke_zscores = []
for name,hp in zip(names, hps):
hp_avg = hps.mean()
hp_std = hps.std()
z_score = (hp - hp_avg)/hp_std
poke_zscores.append((name, hp, z_score))
highest_hp_pokemon = []
for name,hp,zscore in poke_zscores:
if zscore > 2:
highest_hp_pokemon.append((name, hp, zscore))
Acest exercițiu face parte din cursul
Scriere eficientă a codului Python
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Calculate the total HP avg and total HP standard deviation
hp_avg = ____.____
hp_std = ____.____
# Use NumPy to eliminate the previous for loop
z_scores = (____ - ____)/____
# Combine names, hps, and z_scores
poke_zscores2 = [*____(names, hps, z_scores)]
print(*poke_zscores2[:3], sep='\n')