我正在使用spark 2.1並且腳本是pyspark。請幫助我,因爲我卡在這裏。pyspark多個列上的條件並返回新列
問題陳述:要創建基於多個列
輸入dataframe
條件的新欄目低於
FLG1 FLG2 FLG3
T F T
F T T
T T F
現在我需要創建一個新的列FLG和我的情況會是這樣,如果FLG1==T&&(FLG2==F||FLG2==T)
我FLG
必須T
其他F
上述dataframe
作爲DF
考慮下面
是我的代碼片斷這是試圖
DF.withColumn("FLG",DF.select(when(FLG1=='T' and (FLG2=='F' or FLG2=='T','F').otherwise('T'))).show()
沒有工作我得到的時候沒有定義
請幫我越過這道障礙
'和'和'or'不會在pyspark中工作 - 請參閱https://issues.apache.org/jira/瀏覽/ SPARK-8568 – desertnaut