在pyspark嵌套框架中将多个列合并为一个列

4xrmg8kj  于 2023-11-16  发布在  Spark
关注(0)|答案(1)|浏览(146)

我需要在pyspark中将数据框的多列合并为一列,如下所示。我是pyspark的新手。
Dataframe 输入和输出


的数据
这些列实际上是键值对(10,20,30),我试图分解,但我得到的'列'对象是不可调用的。现有的逻辑在输入 Dataframe 中拆分列,因此希望继续进行相同的操作。

wgmfuz8q

wgmfuz8q1#

在没有看到代码的情况下,很难知道你已经尝试过的问题在哪里,但是你可以使用PySpark的coalesce

from pyspark.sql.functions import coalesce, col

df.withColumn("NEW", coalesce(col("MARK1"), col("MARK2"), col("MARK3")))

字符串
然后删除MARK1、MARK2和MARK3列,然后将NEW重命名为MARK1。

相关问题