我有这样一个表,我想找到唯一的Name
并聚合Value1
的值(最小值)和Value2
的值(最大值)。这意味着对于每个唯一的Name
,我想获得该名称的值1的最小值和值2的最大值
输入:
| 姓名|数值1|数值2|
| - ------|- ------|- ------|
| 约翰|1个|第二章|
| 约翰|三个|四个|
| 玛丽|第二章|1个|
| 玛丽|四个|三个|
| 彼得|三个|六个|
输出:
| 姓名|数值1|数值2|
| - ------|- ------|- ------|
| 约翰|1个|四个|
| 玛丽|第二章|三个|
| 彼得|三个|六个|
我发现可以使用df.select('Name ').distinct().collect()
获得 Dataframe 的唯一列
但我的问题是,在得到Name
的唯一值之后,如何聚合其他列的最小值/最大值?
1条答案
按热度按时间vc6uscn91#
使用groupBy并按最小值和最大值聚合:
输出: