始める無料で始める

重複への対応

前の演習では、ride_sharing にフィードされる新しいアップデートに、ride_id 列の一部の値に対して完全な重複行と不完全な重複行の両方を生成するバグが含まれていることを確認しました。また、user_birth_year 列と duration 列の値に、時折食い違いがありました。

この演習では、まず完全な重複行を削除し、次に不完全な重複行を1行にまとめる処理を行います。その際、各重複セットについて 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
コードを編集して実行