การจัดการข้อมูลที่ซ้ำกัน
ในแบบฝึกหัดที่แล้ว คุณได้ตรวจสอบแล้วว่าการอัปเดตใหม่ที่ป้อนเข้าสู่ ride_sharing มีบักที่สร้างแถวซ้ำทั้งแบบสมบูรณ์และไม่สมบูรณ์สำหรับค่าบางค่าในคอลัมน์ ride_id โดยบางครั้งมีค่าที่ไม่ตรงกันในคอลัมน์ user_birth_year และ duration
ในแบบฝึกหัดนี้ คุณจะจัดการกับแถวที่ซ้ำกันเหล่านั้น โดยเริ่มจากการลบแถวที่ซ้ำกันทั้งหมดออก จากนั้นรวมแถวที่ซ้ำกันแบบไม่สมบูรณ์เข้าด้วยกัน โดยเก็บค่าเฉลี่ยของ duration และค่าต่ำสุดของ user_birth_year สำหรับแต่ละกลุ่มแถวที่ซ้ำกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลใน Python
คำแนะนำการฝึกหัด
- ลบแถวที่ซ้ำกันทั้งหมดใน
ride_sharingและเก็บผลลัพธ์ไว้ในride_dup - สร้าง dictionary ชื่อ
statisticsที่กำหนดการรวมข้อมูลแบบ minimum สำหรับuser_birth_yearและแบบ mean สำหรับduration - ลบแถวที่ซ้ำกันแบบไม่สมบูรณ์ โดยจัดกลุ่มตาม
ride_idแล้วใช้การรวมข้อมูลจากstatistics - ค้นหาแถวที่ซ้ำกันอีกครั้ง และรัน
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