如何在pyspark.sql.functions.when()中使用多个条件?

12 浏览
0 Comments

如何在pyspark.sql.functions.when()中使用多个条件?

我有一个包含几列的数据帧。现在我想从另外两列中派生一个新列:

from pyspark.sql import functions as F
new_df = df.withColumn("new_col", F.when(df["col-1"] > 0.0 & df["col-2"] > 0.0, 1).otherwise(0))

但是我只得到了一个异常:

py4j.Py4JException: Method and([class java.lang.Double]) does not exist

只使用一个条件时可以工作,像这样:

new_df = df.withColumn("new_col", F.when(df["col-1"] > 0.0, 1).otherwise(0))

有人知道如何使用多个条件吗?

我正在使用Spark 1.4版本。

0