#python #pyspark
#python #pyspark
Вопрос:
Для данного фрейма данных 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:
Я придумал простой код для этого:
example_df.withColumn('agg_things', array(col("thing1"), col("thing2"), col("thing3")))