【问题标题】:How to filter values in an array column in PySpark?如何过滤 PySpark 中数组列中的值?
【发布时间】:2020-11-11 17:02:36
【问题描述】:

我在 Pyspark 中有一个 ArrayType 列。我只想过滤每一行的数组中的值(我不想过滤掉实际的行!)而不使用 UDF。

例如,给定这个数据集的 A 列是 ArrayType:

|     A      |
______________
|[-2, 1, 7]  |
|[1]         |
|[-4, -1, -3]|

而且我希望输出只有正值:

|     A      |
______________
|[1, 7]      |
|[1]         |
|[]          |

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    对于 Spark 2.4 及更高版本,

    from pyspark.sql.functions import expr
    
    df.withColumn("A", expr("filter(A, x -> x > 0)")).show()
    

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多