谷歌搜索了一下之后,我终于找到了答案。
df = spark.createDataframe([(1, float('nan')), (None, 1.0)], ("a", "b"))df.show()+----+---+| a| b|+----+---+| 1|NaN||null|1.0|+----+---+import pyspark.sql.functions as Fcolumns = df.columnsfor column in columns: df = df.withColumn(column,F.when(F.isnan(F.col(column)),None).otherwise(F.col(column)))sqlContext.registerDataframeAsTable(df, "df2")sql('select * from df2').show()+----+----+| a| b|+----+----+| 1|null||null| 1.0|+----+----+它没有使用
na.fill(),但是它实现了相同的结果,所以我很高兴。



