處理重複值
在上一題中,你已經確認匯入 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分組並套用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