Python 如何使用pyspark根据某些条件在新列中填充从源表到目标表的值?
我有3个数据帧——df1、df2、df3 其中,df1是目标表,df2、df3是源表 df2 身份证件 名称 标志 1. 亚历克斯 30 2. 厕所 70 3. 杰森 80Python 如何使用pyspark根据某些条件在新列中填充从源表到目标表的值?,python,apache-spark,pyspark,apache-spark-sql,Python,Apache Spark,Pyspark,Apache Spark Sql,我有3个数据帧——df1、df2、df3 其中,df1是目标表,df2、df3是源表 df2 身份证件 名称 标志 1. 亚历克斯 30 2. 厕所 70 3. 杰森 80 您可以加入df2和df3,然后使用when功能: from pyspark.sql import functions as F df1 = df2.join(df3, ['id', 'name'], "inner")\ .withColumn("status&m
您可以加入
df2
和df3
,然后使用when
功能:
from pyspark.sql import functions as F
df1 = df2.join(df3, ['id', 'name'], "inner")\
.withColumn("status&marks", F.when(F.col("status")=="fail", F.col('status'))\
.otherwise(F.col('marks'))).drop('marks', 'status')
+---+-----+------------+
| id| name|status&marks|
+---+-----+------------+
| 1| alex| fail|
| 2| john| 70|
| 3|jason| 80|
+---+-----+------------+
假设状态或标记中存在空值,那么如何使用“何时”来实现这一点?您无需更改任何内容,它也适用于空值。酷。。。非常感谢你