我需要在pyspark中将数据框的多列合并为一列,如下所示。我是pyspark的新手。Dataframe 输入和输出
的数据这些列实际上是键值对(10,20,30),我试图分解,但我得到的'列'对象是不可调用的。现有的逻辑在输入 Dataframe 中拆分列,因此希望继续进行相同的操作。
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。
1条答案
按热度按时间wgmfuz8q1#
在没有看到代码的情况下,很难知道你已经尝试过的问题在哪里,但是你可以使用PySpark的coalesce:
字符串
然后删除MARK1、MARK2和MARK3列,然后将NEW重命名为MARK1。