我在 pyspark 数据帧中有以下 udf 函数。代码工作正常,除非 myFun1('oldColumn')
为 null,我希望输出为空字符串而不是 null。
myFun1 = udf(lambda x: myModule.myFunction1(x), StringType())
myDF = myDF.withColumn('newColumn', myFun1('oldColumn'))
是否可以就地执行此操作而不是创建另一个 udf 函数?谢谢!
最佳答案
使用 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|
+---+------+-------+
关于python - pyspark/数据框 : replace null with empty space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449610/