MulaiMulai sekarang secara gratis

Dari tugas ke sub-tugas

Pada latihan ini, Anda akan menggunakan komputasi paralel untuk menerapkan fungsi take_mean_age() yang menghitung usia rata-rata atlet pada tahun tertentu dalam himpunan data acara Olimpiade. DataFrame athlete_events telah dimuat untuk Anda dan berisi, antara lain, dua kolom:

  • Year: tahun penyelenggaraan acara Olimpiade
  • Age: usia atlet Olimpiade

Anda akan menggunakan API multiprocessor.Pool yang memungkinkan Anda mendistribusikan beban kerja ke beberapa proses. Fungsi parallel_apply() telah didefinisikan dalam kode contoh. Fungsi ini menerima input berupa fungsi yang akan diterapkan, pengelompokan yang digunakan, serta jumlah core yang diperlukan untuk analisis. Perhatikan bahwa dekorator @print_timing digunakan untuk mengukur waktu setiap operasi.

Latihan ini adalah bagian dari kursus

Pengantar Data Engineering

Lihat Kursus

Petunjuk latihan

  • Lengkapi kodenya sehingga Anda menerapkan take_mean_age dengan 1 core terlebih dahulu, kemudian 2, dan terakhir 4 core.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Function to apply a function over multiple cores
@print_timing
def parallel_apply(apply_func, groups, nb_cores):
    with Pool(nb_cores) as p:
        results = p.map(apply_func, groups)
    return pd.concat(results)

# Parallel apply using 1 core
parallel_apply(take_mean_age, athlete_events.groupby('Year'), ____)

# Parallel apply using 2 cores
parallel_apply(take_mean_age, athlete_events.groupby('Year'), ____)

# Parallel apply using 4 cores
parallel_apply(take_mean_age, athlete_events.groupby('Year'), ____)
Edit dan Jalankan Kode