我有以下数据框:
DF1
uid text frequency
1 a 1
1 b 0
1 c 2
2 a 0
2 b 0
2 c 1
我需要在uid的基础上将其展平为:
DF2
uid a b c
1 1 0 2
2 0 0 1
我在R中使用了类似的行但是无法将其转换为sql或scala。
有关如何处理此事的任何建议?
答案 0 :(得分:5)
您可以按uid
分组,使用text
作为支点列和总和频率:
df1
.groupBy("uid")
.pivot("text")
.sum("frequency").show()