Apache spark 如何有条件地用整数替换空值Pyspark数据帧

Apache spark 如何有条件地用整数替换空值Pyspark数据帧,apache-spark,dataframe,Apache Spark,Dataframe,我正在努力(在pyspark/spark内)。具体而言,数据帧如下所示: ID response_variable id_name id_1 NULL "randomidDKHFD" id_2 NULL NULL id_3 NULL "randomid86438" 我希望能够转换数据帧,以便无论何时id_name有一个非NULL条目,response_变量都变为1。因此,在本

我正在努力(在pyspark/spark内)。具体而言,数据帧如下所示:

ID    response_variable    id_name
id_1   NULL                 "randomidDKHFD"
id_2   NULL                 NULL
id_3   NULL                 "randomid86438"
我希望能够转换数据帧,以便无论何时id_name有一个非NULL条目,response_变量都变为1。因此,在本例中:

ID    response_variable    in_data
id_1   1                 "randomidDKHFD"
id_2   NULL                NULL
id_3   1                 "randomid86438"

有人知道怎么做吗?

您可以使用
with column
when
来做这件事

Python:

yourDf.withColumn("response_variable", when(col("id_name").isNotNull(), lit(1)).otherwise(col("response_variable")))
斯卡拉:

yourDf.withColumn("response_variable", when(col("id_name").isNotNull, lit(1)).otherwise(col("response_variable")))

为什么要投否决票?