python - PySpark:当函数具有多个输出时

标签 python apache-spark pyspark pyspark-sql

<分区>

我正在尝试使用“链接时间”函数。 换句话说,我想要获得两个以上的输出。

我尝试在 Excel 中使用与连接 IF 函数相同的逻辑:

  df.withColumn("device_id", when(col("device")=="desktop",1)).otherwise(when(col("device")=="mobile",2)).otherwise(null))

但这不起作用,因为我不能将元组放入“otherwise”函数中。

最佳答案

你试过吗:

from pyspark.sql import functions as F
df.withColumn('device_id', F.when(col('device')=='desktop', 1).when(col('device')=='mobile', 2).otherwise(None))

请注意,当链接 when 函数时,您不需要将连续调用包装在 otherwise 函数中。

关于python - PySpark:当函数具有多个输出时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537051/

相关文章:

python - python 中的 string.replace 方法

python - 使用huggingface fill-mask管道获得超过5条建议

java - 如何以编程方式检测 Databricks 环境

python - 如何使用pyspark仅对spark数据框中的一列进行排序?

python - AWS API Lambda 代理集成中返回错误响应

python - 在 celery 中广播消息

apache-spark - 具有两个主节点的 Spark 集群。可能吗?

java - DataFrame 在加入条件后找不到列名

python - 如何在 PySpark 中从 RDD 创建数据框?

python - 如何在 pyspark 的高基数分类列中有效地对低频计数级别进行分组?