【发布时间】:2026-01-06 00:05:02
【问题描述】:
我想根据字典中的值生成一个 when 子句。它与正在做的事情非常相似How do I use multiple conditions with pyspark.sql.funtions.when()?
只有我想传递一个列和值的字典
假设我有一个字典:
{
'employed': 'Y',
'athlete': 'N'
}
我想用那个 dict 来生成等价的:
df.withColumn("call_person",when((col("employed") == "Y") & (col("athlete") == "N"), "Y")
所以最终结果是:
+---+-----------+--------+-------+
| id|call_person|employed|athlete|
+---+-----------+--------+-------+
| 1| Y | Y | N |
| 2| N | Y | Y |
| 3| N | N | N |
+---+-----------+--------+-------+
请注意我想以编程方式执行此操作的部分原因是我有不同长度的字典(条件数)
【问题讨论】:
标签: python-3.x pyspark apache-spark-sql