शुरू करेंमुफ़्त में शुरू करें

Task से Subtasks तक

इस अभ्यास में, आप parallel computing का उपयोग करके take_mean_age() फंक्शन अप्लाई करेंगे, जो Olympics events डेटासेट में दिए गए किसी वर्ष के एथलीट की औसत आयु निकालता है। आपके लिए DataFrame athlete_events लोड किया गया है और इसमें अन्य के साथ दो कॉलम शामिल हैं:

  • Year: वह वर्ष जब ओलंपिक इवेंट हुआ
  • Age: ओलंपियन की आयु

आप multiprocessor.Pool API का उपयोग करेंगे, जो आपके workload को कई processes में बाँटने देता है। सैंपल कोड में parallel_apply() फंक्शन परिभाषित है। यह इनपुट के रूप में अप्लाई किया जाने वाला फंक्शन, इस्तेमाल किया गया grouping, और analysis के लिए ज़रूरी cores की संख्या लेता है। ध्यान दें कि प्रत्येक ऑपरेशन का समय मापने के लिए @print_timing डेकोरेटर का उपयोग किया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Introduction to Data Engineering

पाठ्यक्रम देखें

अभ्यास निर्देश

  • कोड पूरा कीजिए ताकि आप पहले 1 core के साथ take_mean_age अप्लाई करें, फिर 2 और अंत में 4 cores के साथ.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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'), ____)
कोड संपादित करें और चलाएँ