【发布时间】:2016-11-03 07:25:37
【问题描述】:
我有以下数据集,其中包含一些空值,需要在 spark 中使用 fillna 替换空值。
数据帧:
df = spark.read.format("com.databricks.spark.csv").option("header","true").load("/sample.csv")
>>> df.printSchema();
root
|-- Age: string (nullable = true)
|-- Height: string (nullable = true)
|-- Name: string (nullable = true)
>>> df.show()
+---+------+-----+
|Age|Height| Name|
+---+------+-----+
| 10| 80|Alice|
| 5| null| Bob|
| 50| null| Tom|
| 50| null| null|
+---+------+-----+
>>> df.na.fill(10).show()
当我给出 na 值时,它不会改变相同的数据框再次出现。
+---+------+-----+
|Age|Height| Name|
+---+------+-----+
| 10| 80|Alice|
| 5| null| Bob|
| 50| null| Tom|
| 50| null| null|
+---+------+-----+
尝试创建一个新的数据框并将填充值存储在数据框中,但结果显示不变。
>>> df2 = df.na.fill(10)
如何替换空值?请给我使用fill na的可能方法。 提前致谢。
【问题讨论】:
-
有更换规则吗?例如,替换高度列中的空值是否与名称列不同?
-
在我的情况下,如果应用了规则或未指定规则,则 null 值不会被替换。基本填充操作无法正常工作。检查不同的数据集。
标签: apache-spark pyspark