メインコンテンツまでスキップ

置換(DataFrameNaFunctions)

値を別の値に置き換えた新しいDataFrameを返します。DataFrame.replaceDataFrameNaFunctions.replaceは互いの別名です。to_replacevalueの値は同じ型である必要があり、数値、ブール値、または文字列のみを指定できます。value Noneになり得る。置換時には、新しい値は既存の列の型にキャストされます。

構文

replace(to_replace, value=None, subset=None)

パラメーター

パラメーター

Type

説明

to_replace

bool、int、float、str、list、またはdict

交換される値。辞書の場合、 valueは無視され、 to_replace値からその置換値へのマッピングでなければなりません。

value

bool、int、float、str、またはNone(省略可能)

再調達価格。リストの場合は、 to_replaceと同じ長さと型である必要があります。スカラー値とto_replaceシーケンスである場合、各項目の代替としてスカラー値が使用されます。

subset

リスト(オプション)

検討すべき列名。subset内の、一致するデータ型を持たない列は無視されます。

戻り値

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