填充(DataFrameNaFunctions)s

回傳 DataFrame 一個新值,其中空值被填入新值。 DataFrame.fillna 兩者 DataFrameNaFunctions.fill 是彼此的別名。

語法

fill(value, subset=None)

參數

參數 類型 說明
value int、float、力量、布爾或dict 用來替換空值的值。 若提供 subset dict,則忽略,必須 value 是從欄位名稱映射到替換值。 替換值必須是整數(int)、float(float)、bool(布爾)或強度(str)。
subset str、元組或列表,選擇性 值得考慮的欄位名稱。 若欄位 subset 資料型別不匹配, value 則會被忽略。

退貨

DataFrame

Examples

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 來填入數字欄位。

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 布林欄位。

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|
# +----+------+-----+-----+

對 和 age ,填入 50 的空值。"unknown"name

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填入。

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|
# +----+------+-----+----+