開始使用免費開始

處理重複值

在上一題中,你已經確認匯入 ride_sharing 的最新更新有一個錯誤,會在部分 ride_id 欄位的值產生完整與不完整的重複列,且 user_birth_yearduration 欄位偶爾會出現不一致的數值。

在本題中,你要先移除完全重複的列,接著把不完整的重複列合併為單一列,同時對於每一組不完整的重複,保留 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
編輯並執行程式碼