【发布时间】:2017-07-18 10:04:02
【问题描述】:
我有一个数据框,df,有 5 列
student_id
course_id
course_date
attendance_id
这些列都不是唯一的,但student_id 和attendance_id 的组合将是唯一的。我想通过选择最早的 course_date 创建一个新的数据框 new_df,它对于 student_id 是唯一的。在 Pandas 中,我这样做是:
new_df = df.groupby(['student_id']).apply(lambda x: x.nsmallest(1,'course_date')).reset_index(drop=1)
如果 df 有 1600 行和 1000 个不同的 student_id,那么 new_df 将有 1000 行和 1000 个不同的 student_id。
如何在 Spark SQL 甚至普通 SQL 中做到这一点?
【问题讨论】:
标签: sql pyspark pyspark-sql