【发布时间】:2020-03-02 15:19:53
【问题描述】:
我有一个包含两列 COL_1 和 COL_2 的数据框。
我想再添加一列 COL_3 和 COL_3 值将取决于下表中 COL_1 和 COL_2 的比较。
当两个值相同时 COL_3 = 有效
当两个值不同时 COL_3 = 无效
当两者都取值为 null 时 COL_3 = null
我尝试了下面的代码,但它不起作用。
df_Input = dataframe.withColumn("COL_3", (col("COL_1") != col("COL_1")), lit("Invalid")).otherwise(lit("valid"))
【问题讨论】:
-
你已经接近了。使用
func.when()并给出两个标准,func.when(col('col_1') == col('col_2'), lit('valid')).when(col('col_1') != col('col_2'), lit('invalid'))。null不会满足其中任何一个,因此将导致null
标签: pyspark pyspark-dataframes