Aan de slagGa gratis aan de slag

Alles samenbrengen: Pokémon-z-scores

Een lijst met 720 Pokémon is in je sessie geladen als names. De bijbehorende Health Points van elke Pokémon staan in een NumPy-array hps. Je wilt de Health Points analyseren met de z-score om te zien hoeveel standaarddeviaties de HP van elke Pokémon afwijkt van het gemiddelde van alle HP’s.

De onderstaande code is geschreven om de HP-z-score voor elke Pokémon te berekenen en de Pokémon met de hoogste HP’s te verzamelen op basis van hun 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))

Deze oefening maakt deel uit van de cursus

Efficiënte Python-code schrijven

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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')
Code bewerken en uitvoeren