【问题标题】:How to merge pyspark dataframe and drop null values?如何合并 pyspark 数据框并删除空值?
【发布时间】:2021-02-18 16:40:30
【问题描述】:

我有以下 pyspark 数据框结构:

device | value_0|value_1|value_2|value_3|
   1     43      null    null    null
   2     null    22      null    null
   3     null    null    5       null
   4     null    null    null    89
   1     44      null    null    null
   2     null    23      null    null
   3     null    null    6       null
   4     null    null    null    90

我的目标是合并列:

      device|value|
       1     43      
       2     22      
       3     5 
       4     89
       1     44      
       2     23
       3     6      
       4     90

你会怎么做?

【问题讨论】:

    标签: apache-spark pyspark apache-spark-sql


    【解决方案1】:

    使用F.coalesce 合并空值:

    import pyspark.sql.functions as F
    df = df.select('device',
        F.coalesce(
            *[F.col(col) for col in ['value_0', 'value_1', 'value_2', 'value_3']]
        ).alias('value')
    )
    

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2020-02-15
      • 2018-02-21
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      相关资源
      最近更新 更多