Мне нужна помощь со следующим.Предположим, у меня есть фрейм данных, как показано ниже.Я пытаюсь сгенерировать приложение столбцов dom и attribute на основе порядка столбца «rank».
from pyspark.sql.functions import first
l =[( 1 ,'A', 10, 'size' ),
( 2 , 'B', 20, 'height' ),
( 3 , 'C', 30, 'weigth' )]
df = spark.createDataFrame(l, ['rank','dom', 'value', 'attribute'])
+----+---+-----+---------+
|rank|dom|value|attribute|
+----+---+-----+---------+
| 1| A| 10| size|
| 2| B| 20| height|
| 3| C| 30| weigth|
+---+---+-----+---------+
Окончательный желаемый результат:
+----+-------+---------+--------------------+
|rank| dom|avg_value| attribute|
+----+-------+---------+--------------------+
| 1| A| 10| size|
| 2| A,B| 20| size, height|
| 3| A,B,C| 30|size, height, weigth|
+----+-------+---------+--------------------+
Идея состоит в том,это avg_price - среднее значение, сгруппированное по новой комбинации атрибутов.