Récapitulatif : Scores z des Pokémon
Une liste de 720 Pokémon a été chargée dans votre session sous le nom names. Les points de vie de chaque Pokémon sont enregistrés dans un tableau NumPy appelé hps. Vous souhaitez analyser les points de vie à l'aide du score z afin de déterminer l'écart type entre les PV de chaque Pokémon et la moyenne de tous les PV.
Le code ci-dessous a été rédigé afin de calculer le score z de PV de chaque Pokémon et de regrouper les Pokémon ayant les PV les plus élevés en fonction de leurs scores z :
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))
Cet exercice fait partie du cours
Écrire du code Python efficace
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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')