null 値に新しい値が入力される新しい DataFrame を返します。
DataFrame.fillna と DataFrameNaFunctions.fill は互いのエイリアスです。
構文
fill(value, subset=None)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
value |
int、float、str、bool、または dict | null 値を置き換える値。 dict が指定されている場合、 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"])
数値列に対して、すべての null 値に 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|
# +---+------+-----+----+
すべての null 値にブール値列の 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で 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|
# +---+------+-------+----+
すべての null 値に、"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|
# +----+------+-----+----+