#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| -- - - - - -