Pyspark сгруппирован по индексу и объединяет столбцы списка в один столбец списка списков - PullRequest
0 голосов
/ 04 апреля 2019

Для данного фрейма данных pyspark, как лучше всего агрегировать столбцы, если содержимое - это списки, и создать новый столбец, в котором содержимое - это список списков?

пример ввода:

id_1|id_2|id_3|        timestamp     |thing1       |thing2       |thing3
A   |b  |  c |[time_0,time_1,time_2]|[1.2,1.1,2.2]|[1.3,1.5,2.6]|[2.5,3.4,2.9]
A   |b  |  d |[time_0,time_1]       |[5.1,6.1]    |[5.5,6.2]   |[5.7,6.3]
A   |b  |  e |[time_0,time_1]       |[0.1,0.2]    |[0.5,0.3]   |[0.9,0.6]

пример вывода:

id_1|id_2|id_3|        timestamp     |agg_things       
A   |b  |  c |[time_0,time_1,time_2]|[[1.2,1.1,2.2],[1.3,1.5,2.6],[2.5,3.4,2.9]]
A   |b  |  d |[time_0,time_1]       |[[5.1,6.1],[5.5,6.2],[5.7,6.3]]
A   |b  |  e |[time_0,time_1]       |[[0.1,0.2],[0.5,0.3],[0.9,0.6]]

1 Ответ

0 голосов
/ 04 апреля 2019

Я понял простой код для этого:

example_df.withColumn('agg_things', array(col("thing1"), col("thing2"), col("thing3")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...