Как создать столбец BinaryType, используя несколько столбцов PySpark Dataframe?

Я недавно начал работать с pySpark, поэтому не знаю о многих деталях, касающихся этого.

Я пытаюсь создать столбец BinaryType во фрейме данных? Но изо всех сил, чтобы сделать это...

например, давайте возьмем простой DF

df.show(2)

+---+----------+
|  col1|col2|
+---+----------+
|  "1"| null|
|  "2"| "20"|
+---+----------+

Теперь я хочу иметь третий столбец "col3" с BinaryType, как

|  col1|col2| col3|
+---+----------+
|  "1"| null|[1 null]
|  "2"| "20"|[ 2 20]
+---+----------+

Как мне это сделать?

1 ответ

Попробуй это:

a = [('1', None), ('2', '20')]
df = spark.createDataFrame(a, ['col1', 'col2'])
df.show()

+----+----+
|col1|col2|
+----+----+
|   1|null|
|   2|  20|
+----+----+



df = df.withColumn('col3', F.array(['col1', 'col2']))
df.show()


+----+----+-------+
|col1|col2|   col3|
+----+----+-------+
|   1|null|   [1,]|
|   2|  20|[2, 20]|
+----+----+-------+

Другие вопросы по тегам