replace (Datový rámec)

Vrátí nový datový rámec, který nahradí hodnotu jinou hodnotou. DataFrame.replace a DataFrameNaFunctions.replace jsou mezi sebou aliasy. Hodnoty to_replace a hodnota musí mít stejný typ a mohou to být jenom číselné hodnoty, logické hodnoty nebo řetězce. Hodnota může mít hodnotu None. (Žádná). Při nahrazování se nová hodnota přetypuje na typ existujícího sloupce.

Syntaxe

replace(to_replace: Union["LiteralType", List["LiteralType"], Dict["LiteralType", "OptionalPrimitiveType"]], value: Optional[Union["OptionalPrimitiveType", List["OptionalPrimitiveType"]]] = _NoValue, subset: Optional[List[str]] = None)

Parametry

Parameter Typ Description
to_replace bool, int, float, string, list nebo diktování hodnota, která má být nahrazena. Pokud je hodnota diktování, bude value ignorována nebo může být vynechána a to_replace musí se jednat o mapování mezi hodnotou a nahrazením.
value bool, int, float, string nebo None, optional Hodnota nahrazení musí být bool, int, float, string nebo None. Pokud value je seznam, value měl by mít stejnou délku a typ jako to_replace. Pokud value je skalární a to_replace jedná se o sekvenci, value použije se jako náhrada pro každou položku v to_replace.
subset list, volitelné volitelný seznam názvů sloupců, které je potřeba vzít v úvahu. Sloupce zadané v podmnožině, které nemají odpovídající datové typy, se ignorují.

Návraty

DataFrame: Datový rámec s nahrazenými hodnotami.

Příklady

df = spark.createDataFrame([
    (10, 80, "Alice"),
    (5, None, "Bob"),
    (None, 10, "Tom"),
    (None, None, None)],
    schema=["age", "height", "name"])

df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# |  20|    80|Alice|
# |   5|  NULL|  Bob|
# |NULL|    20|  Tom|
# |NULL|  NULL| NULL|
# +----+------+-----+

df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# |  10|    80|NULL|
# |   5|  NULL| Bob|
# |NULL|    10| Tom|
# |NULL|  NULL|NULL|
# +----+------+----+

df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# |  10|    80|   A|
# |   5|  NULL|   B|
# |NULL|    10| Tom|
# |NULL|  NULL|NULL|
# +----+------+----+