0
的區別我有一個表像這樣來創建新的列:pyspark - 試圖基於兩個數組類型列
+-----+----+-------+-------+
|name | id | msg_a | msg_b |
+-----+----+-------+-------+
| a| 3|[a,b,c]|[c] |
| b| 5|[x,y,z]|[h,x,z]|
| c| 7|[a,x,y]|[j,x,y]|
+-----+----+-------+-------+
我想,這樣的msg_b
但不是在msg_a
什麼是浮出水面添加一列。 例如
+-----+----+-------+-------+------------+
|name | id | msg_a | msg_b | difference |
+-----+----+-------+-------+------------+
| a| 3|[a,b,c]|[c] |NA |
| b| 5|[x,y,z]|[h,x,z]|[h] |
| c| 7|[a,x,y]|[j,x,y]|[j] |
+-----+----+-------+-------+------------+
參考一previous post,我已經試過 df.select('msg_b').subtract(df.select('msg_a')).show()
其作品,但我需要的信息表,其中name
和id
這樣做: df.withColumn("difference", F.col('msg_b').subtract(F.col(''msg_a'))).show(5)
產生一個TypeError: 'Column' object is not callable
不知道是否有一個單獨的功能來執行此操作,如果我缺少明顯的東西,等等。