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