Tout est réuni : Pokémon z-scores
Une liste de 720 Pokémon a été chargée dans votre session à l'adresse names
. Les points de vie de chaque Pokémon sont stockés dans un tableau NumPy appelé hps
. Vous souhaitez analyser les points de vie à l'aide du score z afin de déterminer le nombre d'écarts-types entre les points de vie de chaque Pokémon et la moyenne de tous les points de vie.
Le code ci-dessous a été écrit pour calculer le score z de HP pour chaque Pokémon et rassembler les Pokémon ayant les HP les plus élevés en fonction de leur score 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')