2017-03-01 51 views
0

我試圖使用「鏈接時」功能。 換句話說,我想要得到兩個以上的輸出。PySpark:當具有多個輸出功能時

我嘗試使用串連的相同的邏輯IF函數在Excel中:

df.withColumn("device_id", when(col("device")=="desktop",1)).otherwise(when(col("device")=="mobile",2)).otherwise(null)) 

但是,這並不工作,因爲我不能把一個元組進入「否則」功能。

回答

1

您是否嘗試過:

from pyspark.sql import functions as F 
df.withColumn('device_id', F.when(col('device')=='desktop', 1).when(col('device')=='mobile, 2).otherwise(None)) 

注意,鏈接when功能,當你不需要在otherwise功能包的連續通話。

+0

它的工作原理!非常感謝你!! – Fede