Reunindo tudo isso: Pontuações z de Pokémon
Uma lista de 720 Pokémon foi carregada na sua sessão como names
. Os pontos de saúde correspondentes de cada Pokémon são armazenados em uma matriz NumPy chamada hps
. Você deseja analisar os pontos de saúde usando o escore z para ver quantos desvios padrão o HP de cada Pokémon está em relação à média de todos os HPs.
O código abaixo foi escrito para calcular o escore z de HP de cada Pokémon e reunir os Pokémon com os HPs mais altos com base em seus escores 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))
Este exercício faz parte do curso
Como escrever um código Python eficiente
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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')