replace (DataFrameNaFunctions)

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

構文

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