Bringt alles zusammen: Pokémon z-scores
Eine Liste mit 720 Pokémon wurde als names
in deine Sitzung geladen. Die entsprechenden Lebenspunkte jedes Pokémon werden in einem NumPy-Array namens hps
gespeichert. Du willst die Lebenspunkte mithilfe des z-Scores analysieren, um zu sehen, wie viele Standardabweichungen jedes Pokémon HP vom Mittelwert aller Lebenspunkte abweicht.
Der folgende Code wurde geschrieben, um den HP z-score für jedes Pokémon zu berechnen und die Pokémon mit den höchsten HPs auf der Grundlage ihrer z-scores zu sammeln:
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))
Diese Übung ist Teil des Kurses
Effizienten Python-Code schreiben
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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')