создайте новые столбцы в фрейме данных из списков в столбце

#pyspark #apache-spark-sql

Вопрос:

У меня есть фрейм данных pyspark, подобный приведенному ниже примеру фрейма данных ввода df. В кадре данных столбец идентификатора состоит из списков длиной 2. Я хотел бы создать новый кадр данных, подобный желаемому выходу ниже, где столбец id является первым значением из списка в df.id столбец и все остальные столбцы являются вторыми значениями в списке. Значения в этих новых столбцах будут соответствовать значению df.prob из исходной записи. Одним из решений, которое я мог бы себе представить, было бы разделение df.id разделите столбец на два столбца, а затем поверните второй столбец, но поворот происходит очень медленно. Кто-нибудь знает более быстрое решение?

вход:

 df.show()    ------ ----  |id |prob|  ------ ----  |[3, 7]|1 | |[3, 6]|5 | |[3, 4]|8 | |[2, 8]|7 | |[1, 3]|4 |  ------ ----   

желаемый результат:

  -- - - - - -  |id|7|6|4|8|3|  -- - - - - -  |3 |1|5|8| | | |2 | | | |7| | |1 | | | | |4|  -- - - - - -