値を別の値に置き換える新しい DataFrame を返します。
DataFrame.replace と DataFrameNaFunctions.replace は互いのエイリアスです。
to_replaceとvalueの値は同じ型である必要があり、数値、ブール値、または文字列のみを指定できます。
value を Noneできます。 置き換えると、新しい値は既存の列の型にキャストされます。
構文
replace(to_replace, value=None, subset=None)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
to_replace |
bool、int、float、str、list、または dict | 置き換える値。 dict の場合、 value は無視され、 to_replace は値から置換へのマッピングである必要があります。 |
value |
bool、int、float、str、または None(省略可能) | 置換値。 リストの場合は、 to_replaceと同じ長さと型にする必要があります。 スカラーと to_replace がシーケンスの場合、スカラーは各項目の置換として使用されます。 |
subset |
list、省略可能 | 考慮する列名。 一致するデータ型を持たない subset 内の列は無視されます。 |
返品
DataFrame
メモ
数値置換の場合、置換されるすべての値に一意の浮動小数点表現が必要です。 競合が発生した場合 (たとえば、 {42: -1, 42.0: 1})、任意の置換が使用されます。
例示
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom"),
(None, None, None)],
schema=["age", "height", "name"])
すべての列で 10 を 20 に置き換えます。
df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 20| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 20| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+
'Alice'をすべての列で null に置き換えます。
df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80|NULL|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
'Alice'を'A'に置き換え、'Bob'列の'B'にnameします。
df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80| A|
# | 5| NULL| B|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
age列の 10 を 18 に置き換えます。
df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 18| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+