我试图在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()。
答案 0 :(得分:1)
使用col.isin
方法
df2 = df2.withColumn('Industrial', F.when(F.col('CODE').isin((1,2,3,4)), 1).otherwise(0))