Erste SchritteKostenlos loslegen

Von der Aufgabe zu den Teilaufgaben

In dieser Übung wendest du mit Hilfe von Parallelrechnern die Funktion take_mean_age() an, die das Durchschnittsalter der Athleten in einem bestimmten Jahr im Datensatz der Olympischen Spiele berechnet. Der DataFrame athlete_events wurde für dich geladen und enthält unter anderem zwei Spalten:

  • Year: das Jahr, in dem das olympische Ereignis stattgefunden hat
  • Age: das Zeitalter des Olympischen

Du wirst die multiprocessor.Pool API verwenden, die es dir ermöglicht, deine Arbeitslast auf mehrere Prozesse zu verteilen. Die Funktion parallel_apply() ist im Beispielcode definiert. Sie nimmt als Eingabe die Funktion, die angewandt wird, die verwendete Gruppierung und die Anzahl der für die Analyse benötigten Kerne auf. Beachte, dass der @print_timing Dekorator verwendet wird, um jeden Vorgang zu timen.

Diese Übung ist Teil des Kurses

Einführung in die Datentechnik

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige den Code, so dass du take_mean_age zuerst mit 1 Kernen, dann 2 und schließlich 4 Kernen anwendest.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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'), ____)
Bearbeiten und Ausführen von Code