我有这个数据框:
|User |country|
| Ron | italy|
| Tom | japan|
| Lin | spain|
| Tom | china|
| Tom | china|
| Lin | japan|
| Tom | china|
| Lin | japan|
我想计算每个用户的国家总数。例如,对于上面的df,我将得到:
[Ron -> [italy ->1], Tom -> [Japan -> 1, china -> 3], Lin -> [Spain -> 1, Japan ->2]]
我从
val groupedbyDf = df.groupBy("User")
但我不知道如何继续。。agg()?
1条答案
按热度按时间vshtjzan1#
您需要在分组后使用相关Map功能创建Map:
如果要将它们全部放在一行中,可以再进行一次聚合: