1. Apprendre
  2. /
  3. Cours
  4. /
  5. Rédiger du code Python efficace

Connected

Exercice

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))

Instructions 1/3

undefined XP
    1
    2
    3
  • Utilisez NumPy pour éliminer la boucle for utilisée pour créer les z-scores.
  • Ensuite, combinez les objets names, hps et z_scores dans une liste appelée poke_zscores2.