所以我在PySpark中使用df.Withcolumn()
来创建一个列,并使用F.when()
来指定何时应该更新列的标准。
df = df.withColumn('ab', F.when(df['text']=="0", 1).otherwise(0))
基本上我要将列更新为' 1'如果符合标准。现在,如果相同的条件匹配(例如df
),我想更新同一df['text']=="0"
中的另一列。 PySpark中是否有任何方法可以使用一个when语句来更新两列?
答案 0 :(得分:0)
这是不可能的。您只能创建struct:
>>> from pyspark.sql.functions import *
>>> df.withColumn('ab', F.when(df['text']=="0" , struct(1, "foo")).otherwise(struct(0, "bar")))