fill (DataFrameNaFunctions) s

返回用 DataFrame 新值填充 null 值的新值。 DataFrame.fillnaDataFrameNaFunctions.fill 彼此的别名。

Syntax

fill(value, subset=None)

参数

参数 类型 说明
value int、float、str、bool 或听写 要替换为 null 值的值。 如果提供了听写,则将被忽略, subset 并且 value 必须是从列名到替换值的映射。 替换值必须是 int、float、bool 或 str。
subset str、tuple 或 list(可选) 要考虑的列名。 subset忽略不具有匹配数据类型的value列。

退货

DataFrame

示例

df = spark.createDataFrame([
    (10, 80.5, "Alice", None),
    (5, None, "Bob", None),
    (None, None, "Tom", None),
    (None, None, None, True)],
    schema=["age", "height", "name", "bool"])

使用 50 个数字列填充所有 null 值。

df.na.fill(50).show()
# +---+------+-----+----+
# |age|height| name|bool|
# +---+------+-----+----+
# | 10|  80.5|Alice|NULL|
# |  5|  50.0|  Bob|NULL|
# | 50|  50.0|  Tom|NULL|
# | 50|  50.0| NULL|true|
# +---+------+-----+----+

使用 False 布尔列填充所有 null 值。

df.na.fill(False).show()
# +----+------+-----+-----+
# | age|height| name| bool|
# +----+------+-----+-----+
# |  10|  80.5|Alice|false|
# |   5|  NULL|  Bob|false|
# |NULL|  NULL|  Tom|false|
# |NULL|  NULL| NULL| true|
# +----+------+-----+-----+

使用 50 for age"unknown" for name填充 null 值。

df.na.fill({'age': 50, 'name': 'unknown'}).show()
# +---+------+-------+----+
# |age|height|   name|bool|
# +---+------+-------+----+
# | 10|  80.5|  Alice|NULL|
# |  5|  NULL|    Bob|NULL|
# | 50|  NULL|    Tom|NULL|
# | 50|  NULL|unknown|true|
# +---+------+-------+----+

使用"Spark"name列填充所有 null 值。

df.na.fill(value='Spark', subset='name').show()
# +----+------+-----+----+
# | age|height| name|bool|
# +----+------+-----+----+
# |  10|  80.5|Alice|NULL|
# |   5|  NULL|  Bob|NULL|
# |NULL|  NULL|  Tom|NULL|
# |NULL|  NULL|Spark|true|
# +----+------+-----+----+