1. Uczyć się
  2. /
  3. Courses
  4. /
  5. 効率的なPythonコードの書き方

Connected

Exercise

すべてをまとめよう:ポケモンのzスコア

720匹のポケモンのリストが names として読み込まれています。各ポケモンに対応するHP(Health Points)は NumPy 配列 hps に保存されています。全体の平均から各ポケモンのHPが標準偏差何個分離れているかを示す zスコア を使って、HPを分析したいとします。

以下のコードは、各ポケモンのHPのzスコアを計算し、zスコアに基づいてHPが高いポケモンを集めるために書かれたものです。

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

Instrukcje 1 / 3

undefined XP
    1
    2
    3
  • NumPy を使って、zスコア作成に使われている for ループを取り除きます。
  • その後、names、hps、z_scores を結合して、poke_zscores2 というリストにまとめてください。