Mettere tutto insieme: z-score dei Pokémon
Un elenco di 720 Pokémon è stato caricato nella tua sessione come names. I relativi Health Points di ciascun Pokémon sono memorizzati in un array NumPy chiamato hps. Vuoi analizzare gli Health Points usando lo z-score per vedere di quante deviazioni standard l’HP di ciascun Pokémon si discosta dalla media di tutti gli HP.
Il codice seguente è stato scritto per calcolare lo z-score degli HP per ogni Pokémon e raccogliere i Pokémon con gli HP più alti in base ai loro z-score:
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))
Questo esercizio fa parte del corso
Scrivere codice Python efficiente
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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')