我有以下数据框:
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。
关于如何处理这个问题的任何建议?
您可以按uid
分组,使用 text
作为数据透视列并求和频率:
df1
.groupBy("uid")
.pivot("text")
.sum("frequency").show()