сгруппировать по нескольким столбцам с pyspark - PullRequest
0 голосов
/ 20 июня 2019

Я смотрю groupBy agg на приведенном ниже кадре данных Spark и получаю среднее, максимальное и минимальное значение для каждого из столбцов col1, col2, col3

sp = spark.createDataFrame([['a',2,4,5], ['a',4,7,7], ['b',6,0,9], ['b', 2, 4, 4], ['c', 4, 4, 9]], ['id', 'col1', 'col2','col3'])

+---+----+----+----+
| id|col1|col2|col3|
+---+----+----+----+
|  a|   2|   4|   5|
|  a|   4|   7|   7|
|  b|   6|   0|   9|
|  b|   2|   4|   4|
|  c|   4|   4|   9|
+---+----+----+----+

Я пытался sp.groupBy('id').agg({'*':'max'}) даже получить максимум на все это, но столкнулся с ошибкой.

Я пробовал sp.groupBy('id').agg({'col1':['max', 'min', 'mean']}), но это более традиционный способ Панд, но он не работает.

id  max(col1)  max(col2)  max(col3)  min(col1) min(col2) min(col3) mean(col1) ..
a   4          7          7          2         4         5         3   
b   6          4          9          2         0         4         4  
c   4          4          9          4         4         9         4  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...