pyspark / dataframe:用空格

时间:2016-07-19 04:30:02

标签: python dataframe lambda

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

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

是否可以在适当的位置执行此操作而不是创建另一个udf函数?谢谢!

1 个答案:

答案 0 :(得分:3)

使用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|
+---+------+-------+