【发布时间】:2021-02-17 15:46:32
【问题描述】:
我在这一行发现了和我类似的情况,但是他使用的是 SQL server,而不是 pyspark/python:Pivoting Multiple Columns Based On a Single Column
我的日期集如下:
ID Date Class
1 2021/01/01 math, english
1 2021/01/02 math, english
1 2021/01/03 chinese
1 2021/01/04 math, chemistry
1 2021/01/05 math, english
1 2021/01/06 Chinese
2 2021/01/01 PE
2 2021/01/02 math, chinese
2 2021/01/03 math, english
2 2021/01/04 math, chinese
.......
期望的输出应该是:
ID Date_1 schedule_1 Date_2 schedule_2 Date_3 schedule_3
1 2021/01/01 math, english 2021/01/03 chinese 2021/01/05 math, chemistry...
1 2021/01/02 math, english 2021/01/06 chinese...
1 2021/01/05 math, english....
2 2021/01/01 PE 2021/01/02 math, chinese 2021/01/03 math, english
2 2021/01/04 math, chinese
我正在计划使用 pivot 和 groupby,这是我当前的代码,它不起作用,我不知道如何解决它。
line2 = line\
.select("ID")\
.groupBy("ID","Class")\
.pivot("Date","Class")\
.agg(expr("coalesce(first(Class), \" \")"))
我们将不胜感激任何帮助、想法或建议。
【问题讨论】:
标签: apache-spark pyspark group-by apache-spark-sql pivot