2017-03-01 13 views
0

"連鎖型"関数を使用しようとしています。 つまり、私は2つ以上の出力を得たいと思います。PySpark:複数の出力を持つ関数

私は、関数のIF ExcelでCONCATENATEのと同じロジックを使用してみました:

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

しかし、私は「そうでない」関数にタプルを置くことができないので、それは動作しません。

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機能で連続的な呼び出しをラップする必要がないこと:

答えて

1

は、あなたがしようとしています。

+0

これは機能します!どうもありがとうございました!! – Fede

関連する問題