разбирать значения из списка в столбце данных - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть фрейм данных pyspark, такой как входной фрейм данных ниже. Он имеет столбец colA, который содержит списки чисел в качестве каждого значения. Я хотел бы создать новый столбец col C, который анализирует каждое число из списка в colA, как пример выходного кадра данных ниже. Кто-нибудь может подсказать, как это сделать?

входной кадр данных:

colA    colB
[1,2]   1
[3,2,4] 2

выходной кадр данных:

colA    colB colC
[1,2]   1    1
[1,2]   1    2
[3,2,4] 2    3
[3,2,4] 2    2
[3,2,4] 2    4

1 Ответ

0 голосов
/ 11 февраля 2020

Это можно сделать с помощью функции explode:

from pyspark.sql.functions import explode

df.withColumn("colC", explode(df.colA)).show()

Вывод:

+---------+----+----+
|     colA|colB|colC|
+---------+----+----+
|   [1, 2]|   1|   1|
|   [1, 2]|   1|   2|
|[3, 2, 4]|   2|   3|
|[3, 2, 4]|   2|   2|
|[3, 2, 4]|   2|   4|
+---------+----+----+
...