处理重复值
在上一个练习中,您已经验证:导入到 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