1. Обучение
  2. /
  3. Курса
  4. /
  5. Эффективный код на Python

Connected

упражнение

Подводим итоги: z-оценки покемонов

В вашей сессии загружен список из 720 покемонов — переменная names. Очки здоровья каждого покемона хранятся в массиве NumPy hps. Вы хотите проанализировать очки здоровья с помощью z-оценки, чтобы узнать, на сколько стандартных отклонений значение HP каждого покемона отличается от среднего по всем покемонам.

Ниже приведён код для вычисления z-оценки HP каждого покемона и отбора покемонов с наибольшими значениями HP на основе 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))

Инструкции 1/3

undefined XP
    1
    2
    3
  • Используйте NumPy, чтобы убрать цикл for, применяемый для вычисления z-оценок.
  • Затем объедините объекты names, hps и z_scores в список poke_zscores2.