【问题标题】:What will be the corresponding query in Spark SQL to this Pandas operation?这个 Pandas 操作在 Spark SQL 中对应的查询是什么?
【发布时间】:2017-07-18 10:04:02
【问题描述】:

我有一个数据框,df,有 5 列

student_id
course_id
course_date
attendance_id

这些列都不是唯一的,但student_idattendance_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


    【解决方案1】:

    尝试类似:

    SELECT student_id, min(course_date)
    FROM table_name
    GROUP BY student_id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多