Twitter के बड़े डेटा से जानकारी निकालना
पिछले अभ्यास में आपने फ़ाइल को chunks में बाँटकर बहुत अच्छा काम किया. अब आप जानते हैं कि बहुत बड़ी फ़ाइल को प्रोसेस करना कैसे संभालना है, और यह एक बेहद उपयोगी स्किल है!
छोटी, मैनेजेबल chunks में फ़ाइल प्रोसेस करना अच्छा है, लेकिन हर बार उसी काम के लिए वही कोड बार-बार लिखना उबाऊ हो सकता है. इस अभ्यास में, आप अपने पिछले अभ्यास के काम को एक function definition में रखकर अपने कोड को अधिक reusable बनाएँगे.
pandas पैकेज pd नाम से इम्पोर्ट किया गया है और फ़ाइल 'tweets.csv' आपकी current डायरेक्टरी में उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python टूलबॉक्स
अभ्यास निर्देश
count_entries()नाम का फंक्शन परिभाषित करें, जिसके 3 पैरामीटर हों. पहलाcsv_fileफ़ाइल नाम के लिए, दूसराc_sizechunk size के लिए, और आख़िरीcolnameकॉलम नाम के लिए.csv_fileमें दी गई फ़ाइल परforलूप से इटरेट करें. लूप वैरिएबलchunkका उपयोग करें औरpd.read_csv()कॉल पर इटरेट करें, जहाँchunksizeमेंc_sizeपास करें.- आंतरिक लूप में,
chunkमेंcolnameद्वारा दिए गए कॉलम परforलूप से इटरेट करें. लूप वैरिएबलentryका उपयोग करें. count_entries()फंक्शन को कॉल करें और उसे फ़ाइल नाम'tweets.csv', chunk का साइज़10, और गिने जाने वाले कॉलम का नाम'lang'पास करें. कॉल के परिणाम को वैरिएबलresult_countsमें असाइन करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Define count_entries()
def ____():
"""Return a dictionary with counts of
occurrences as value for each key."""
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Iterate over the file chunk by chunk
for ____ in ____:
# Iterate over the column in DataFrame
for ____ in ____:
if entry in counts_dict.keys():
counts_dict[entry] += 1
else:
counts_dict[entry] = 1
# Return counts_dict
return counts_dict
# Call count_entries(): result_counts
result_counts = ____
# Print result_counts
print(result_counts)