【问题标题】:Remove empty string from list (Spark Dataframe) [duplicate]从列表中删除空字符串(Spark Dataframe)[重复]
【发布时间】:2019-12-27 13:12:03
【问题描述】:

当前数据框

+-----------------+--------------------+
|__index_level_0__|        Text_obj_col|
+-----------------+--------------------+
|                1|   [ ,entrepreneurs]|
|                2|[eat, , human, poop]|
|                3|    [Manafort, case]|
|                4|  [Sunar, Khatris, ]|
|                5|[become, arrogant, ]|
|                6|  [GPS, get, name, ]|
|                7|[exactly, reality, ]|
+-----------------+--------------------+

我想从列表中删除那个空字符串。 这是测试数据,实际数据很大,pyspark怎么做呢?

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    您可以使用udf 来完成此任务:

    from pyspark.sql.functions import udf
    
    def filter_empty(l):
        return filter(lambda x: x is not None and len(x) > 0, l)
    
    filter_empty_udf = udf(filter_empty, ArrayType(StringType()))
    
    df.select(filter_empty_udf("Text_obj_col").alias("Text_obj_col")).show(10, False)
    

    在您的样本中的几行上进行了测试:

    +------------------+
    |Text_obj_col      |
    +------------------+
    |[entrepreneurs]   |
    |[eat, human, poop]|
    +------------------+
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 2011-12-17
      相关资源
      最近更新 更多