【发布时间】:2017-04-02 21:16:11
【问题描述】:
我想在这种情况下评估两个条件:-
import pyspark.sql.functions as F
df = df.withColumn(
'trueVal', F.when(df.value < 1 OR df.value2 == 'false' , 0 ).otherwise(df.value))
为此,我得到使用“OR”的“无效语法”
即使我尝试使用嵌套的 when 语句:-
df = df.withColumn(
'v',
F.when(df.value < 1,(F.when( df.value =1,0).otherwise(df.value))).otherwise(df.value)
)
为此,我得到 'keyword can't be an expression' 用于嵌套的 when 语句。
如何在when 中使用多个条件?
【问题讨论】:
-
这个问题有点老了,但你的
'keyword can't be an expression'错误实际上是在内部when中使用单个=而不是==的结果。
标签: apache-spark pyspark apache-spark-sql