我如何在pyspark数据框中使用布尔逻辑进行设置

时间:2019-05-29 19:09:36

标签: apache-spark pyspark apache-spark-sql pyspark-sql

我试图在pyspark数据框中创建一个新列,该列基于另一列的内容。另一列具有所有整数,我希望新列以1或0编码。

import pyspark.sql.functions as F
df2 = df2.withColumn('Industrial', F.when(F.col('CODE') in (1,2,3,4), 1).otherwise(0))

这不起作用,因为它只需要布尔逻辑。有没有解决的办法?

编辑:可能对其他人仍然有用,因为它创建了一个新列,并且所做的不仅仅是检查isin()。

1 个答案:

答案 0 :(得分:1)

使用col.isin方法

df2 = df2.withColumn('Industrial', F.when(F.col('CODE').isin((1,2,3,4)), 1).otherwise(0))