डुप्लिकेट्स का उपचार
पिछले अभ्यास में आपने जाँचा था कि ride_sharing में आने वाला नया अपडेट एक बग के कारण कुछ ride_id मूल्यों के लिए पूरी तरह और आंशिक, दोनों तरह की डुप्लिकेट पंक्तियाँ बना रहा है, और कभी-कभी user_birth_year और duration कॉलम में असंगत मान भी दिख रहे हैं.
इस अभ्यास में, आप पहले पूरी तरह डुप्लिकेट पंक्तियाँ हटाएँगे, और फिर आंशिक डुप्लिकेट पंक्तियों को एक में मर्ज करेंगे, जबकि प्रत्येक आंशिक-डुप्लिकेट सेट के लिए duration का औसत और user_birth_year का न्यूनतम मान रखेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में डेटा क्लीनिंग
अभ्यास निर्देश
ride_sharingमें पूरी तरह डुप्लिकेट्स हटाकर परिणामride_dupमें रखें।statisticsडिक्शनरी बनाएँ, जिसमेंuser_birth_yearके लिए min (न्यूनतम) औरdurationके लिए mean (औसत) एग्रीगेशन हो।ride_idके आधार पर group करकेstatisticsमें दिए एग्रीगेशन को लागू करके आंशिक डुप्लिकेट्स हटाएँ।- डुप्लिकेट्स दोबारा खोजें और de-duplication सत्यापित करने के लिए
assertस्टेटमेंट चलाएँ।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Drop complete duplicates from ride_sharing
ride_dup = ____.____()
# Create statistics dictionary for aggregation function
statistics = {'user_birth_year': ____, 'duration': ____}
# Group by ride_id and compute new statistics
ride_unique = ride_dup.____('____').____(____).reset_index()
# Find duplicated values again
duplicates = ride_unique.____(subset = 'ride_id', keep = False)
duplicated_rides = ride_unique[duplicates == True]
# Assert duplicates are processed
assert duplicated_rides.shape[0] == 0