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

डेटा को हिस्सों में लोड करने के लिए एक इटरेटर लिखना (4)

पिछले अभ्यासों में, आपने केवल पहले DataFrame चंक के डेटा को प्रोसेस किया था. इस बार, आप डेटासेट के सभी DataFrame चंक्स पर परिणामों को एग्रीगेट करेंगे. इसका मतलब है कि अब आप पूरा डेटासेट प्रोसेस करेंगे. यह बढ़िया है क्योंकि आप छोटे-छोटे हिस्सों पर काम करके पूरे बड़े डेटासेट को प्रोसेस कर पाएँगे!

आप 'ind_pop_data.csv' के डेटा का उपयोग करने जा रहे हैं, जो आपकी वर्तमान डायरेक्टरी में उपलब्ध है. पैकेज pandas और matplotlib.pyplot आपके उपयोग के लिए क्रमशः pd और plt के रूप में इम्पोर्ट किए जा चुके हैं.

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

Python टूलबॉक्स

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

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

  • pd.DataFrame() का उपयोग करके खाली DataFrame data इनिशियलाइज़ करें.
  • for लूप में, डेटासेट के सभी DataFrame चंक्स को प्रोसेस करने के लिए urb_pop_reader पर इटरेट करें.
  • DataFrames की एक लिस्ट pd.concat() को पास करके data और df_pop_ceb को concat करें.

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

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

# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv('ind_pop_data.csv', chunksize=1000)

# Initialize empty DataFrame: data
data = ____

# Iterate over each DataFrame chunk
for df_urb_pop in ____:

    # Check out specific country: df_pop_ceb
    df_pop_ceb = df_urb_pop[df_urb_pop['CountryCode'] == 'CEB']

    # Zip DataFrame columns of interest: pops
    pops = zip(df_pop_ceb['Total Population'],
                df_pop_ceb['Urban population (% of total)'])

    # Turn zip object into list: pops_list
    pops_list = list(pops)

    # Use list comprehension to create new DataFrame column 'Total Urban Population'
    df_pop_ceb['Total Urban Population'] = [int(tup[0] * tup[1] * 0.01) for tup in pops_list]
    
    # Concatenate DataFrame chunk to the end of data: data
    data = ____

# Plot urban population data
data.plot(kind='scatter', x='Year', y='Total Urban Population')
plt.show()
कोड संपादित करें और चलाएँ