这里我创建了一个数据框,如下所示,
df = spark.createDataFrame([('a',5,'R','X'),('b',7,'G','S'),('c',8,'G','S')],
["Id","V1","V2","V3"])
看起来像
+---+---+---+---+
| Id| V1| V2| V3|
+---+---+---+---+
| a| 5| R| X|
| b| 7| G| S|
| c| 8| G| S|
+---+---+---+---+
我想要添加一列,该列是由 V1、V2、V3 组成的元组。
结果应该看起来像
+---+---+---+---+-------+
| Id| V1| V2| V3|V_tuple|
+---+---+---+---+-------+
| a| 5| R| X|(5,R,X)|
| b| 7| G| S|(7,G,S)|
| c| 8| G| S|(8,G,S)|
+---+---+---+---+-------+
我尝试使用与 Python 中类似的语法,但它不起作用:
df.withColumn("V_tuple",list(zip(df.V1,df.V2,df.V3)))
类型错误:zip 参数 #1 必须支持迭代。
任何帮助,将不胜感激!