【问题标题】:pyspark/dataframe: replace null with empty spacepyspark/dataframe:用空白空间替换 null
【发布时间】:2016-07-19 04:30:01
【问题描述】:

我在 pyspark 数据框中有以下 udf 函数。代码工作正常,除非myFun1('oldColumn') 为空,我希望输出为空字符串而不是空。

myFun1 = udf(lambda x: myModule.myFunction1(x), StringType())
myDF = myDF.withColumn('newColumn', myFun1('oldColumn'))

是否可以就地执行此操作而不是创建另一个 udf 函数?谢谢!

【问题讨论】:

    标签: python dataframe lambda


    【解决方案1】:

    使用df.fillna()df.na.fill() 将空值替换为空字符串对我有用。

    您可以通过提供要替换空值的列和值作为参数来按列进行替换:

    myDF = myDF.na.fill({'oldColumn': ''})
    

    Pyspark 文档有 an example

    >>> df4.na.fill({'age': 50, 'name': 'unknown'}).show()
    +---+------+-------+
    |age|height|   name|
    +---+------+-------+
    | 10|    80|  Alice|
    |  5|  null|    Bob|
    | 50|  null|    Tom|
    | 50|  null|unknown|
    +---+------+-------+
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-31
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多