回傳一個新的 DataFrame,空值被填入新值。
DataFrame.fillna 兩者 DataFrameNaFunctions.fill 是彼此的別名。
語法
fillna(value: Union["LiteralType", Dict[str, "LiteralType"]], subset: Optional[Union[str, Tuple[str, ...], List[str]]] = None)
參數
| 參數 | 類型 | 說明 |
|---|---|---|
value |
int、float、string、bool 或 dict | 用來替換空值的值。 若值為字典,則 subset 忽略,必須 value 是從欄位名稱(字串)映射到替換值。 替換值必須是整數、浮點數、布林值或字串。 |
subset |
str、元組或列表,選擇性 | 可選的欄位名稱清單。 子集中指定的欄位若資料型別不匹配,則會被忽略。 |
退貨
DataFrame: 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"])
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|
# +---+------+-----+----+
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|
# +----+------+-----+-----+
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|
# +---+------+-------+----+