0

我最近开始使用 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]
+---+----------+

我该怎么做?

4

1 回答 1

0

尝试这个:

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]|
+----+----+-------+

于 2019-08-28T20:11:38.603 回答