置換(DataFrameNaFunctions)
値を別の値に置き換えた新しいDataFrameを返します。DataFrame.replaceとDataFrameNaFunctions.replaceは互いの別名です。to_replaceとvalueの値は同じ型である必要があり、数値、ブール値、または文字列のみを指定できます。value Noneになり得る。置換時には、新しい値は既存の列の型にキャストされます。
構文
replace(to_replace, value=None, subset=None)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| bool、int、float、str、list、またはdict | 交換される値。辞書の場合、 |
| bool、int、float、str、またはNone(省略可能) | 再調達価格。リストの場合は、 |
| リスト(オプション) | 検討すべき列名。 |
戻り値
DataFrame
注意
数値置換の場合、置換対象となるすべての値は、一意の浮動小数点表現を持つ必要があります。競合が発生した場合(例えば、 {42: -1, 42.0: 1} )、任意の置換が使用されます。
例
Python
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom"),
(None, None, None)],
schema=["age", "height", "name"])
すべての列の10を20に置き換えてください。
Python
df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 20| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 20| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+
すべての列の'Alice' nullに置き換えてください。
Python
df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80|NULL|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
name列の'Alice' 'A'に、 'Bob'を'B'に置き換えてください。
Python
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に置き換えてください。
Python
df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 18| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+