Tout rassembler : z-scores des Pokémon
Une liste de 720 Pokémon a été chargée dans votre session sous le nom names. Les points de vie (Health Points) correspondants de chaque Pokémon sont stockés dans un tableau NumPy appelé hps. Vous voulez analyser les points de vie à l'aide du z-score pour voir de combien d'écarts types les PV (HP) de chaque Pokémon s'éloignent de la moyenne de tous les PV.
Le code ci-dessous a été écrit pour calculer le z-score des PV pour chaque Pokémon et rassembler les Pokémon ayant les PV les plus élevés selon leurs z-scores :
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))
Cette activité fait partie du cours
Rédiger du code Python efficace
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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')