Bắt đầu ngayBắt đầu miễn phí

Tổng hợp: z-score của Pokémon

Danh sách 720 Pokémon đã được nạp vào phiên làm việc của bạn dưới tên names. Mỗi Pokémon có chỉ số Health Points tương ứng được lưu trong một mảng NumPy tên là hps. Bạn muốn phân tích Health Points bằng z-score để xem HP của mỗi Pokémon lệch bao nhiêu độ lệch chuẩn so với trung bình của toàn bộ HP.

Đoạn mã dưới đây được viết để tính z-score HP cho từng Pokémon và thu thập các Pokémon có HP cao nhất dựa trên z-score của chúng:

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

Bài tập này là một phần của khóa học

Viết mã Python hiệu quả

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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')
Chỉnh sửa và Chạy Mã