開始使用免費開始

整合練習:寶可夢的 z 分數

已在你的工作階段載入含有 720 隻寶可夢的清單 names。每隻寶可夢對應的生命值(Health Points, HP)存放在名為 hps 的 NumPy 陣列中。你想用z 分數分析 HP,看看每隻寶可夢的 HP 距離所有 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))

本練習屬於課程

撰寫高效的 Python 程式碼

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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')
編輯並執行程式碼