【发布时间】:2020-11-06 14:51:40
【问题描述】:
背景
我有以下 pyspark 数据框
+-----+-----+
|key_1|key_2|
+-----+-----+
|True |True |
|False|True |
|False|False|
+-----+-----+
我的目标
我想根据 key_1 和 key_2 列中的值创建另一列,如下所示。
+-----+-----+--------+
|key_1|key_2|combined|
+-----+-----+--------+
|True |True | (1,2) |
|False|True | (2,) |
|False|False| () |
+-----+-----+--------+
我的尝试和问题
我试图遍历列
combined = []
for row in df.rdd.collections():
tmp = []
if row[0] is True:
tmp.append(1)
if row[1] is True:
tmp.append(2)
combined.append(tuple(tmp))
然后我有列表combined = [(1,2),(2,),()]
如何插入此 combined 列表以在同一 pyspark 数据框中创建新列?
【问题讨论】: