Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrátí novou DataFrame hodnotu, která nahradí jinou hodnotou.
DataFrame.replace a DataFrameNaFunctions.replace jsou mezi sebou aliasy. Hodnoty pro to_replace a value musí mít stejný typ a mohou to být jenom číselné hodnoty, logické hodnoty nebo řetězce.
value může být None. Při nahrazení se nová hodnota přetypuje na typ existujícího sloupce.
Syntaxe
replace(to_replace, value=None, subset=None)
Parametry
| Parameter | Typ | Description |
|---|---|---|
to_replace |
bool, int, float, str, list nebo diktování | Hodnota, která se má nahradit. Pokud je diktování value ignorováno a to_replace musí se jednat o mapování z hodnoty na její nahrazení. |
value |
bool, int, float, str nebo None, volitelné | Hodnota nahrazení. Pokud seznam, musí mít stejnou délku a typ jako to_replace. Pokud skalár a to_replace je posloupnost, skalár se použije jako náhrada pro každou položku. |
subset |
list, volitelné | Názvy sloupců, které je potřeba vzít v úvahu. Sloupce, které subset nemají odpovídající datový typ, se ignorují. |
Návraty
DataFrame
Poznámky
U číselných nahrazení musí mít všechny hodnoty, které se mají nahradit, jedinečné reprezentace s plovoucí desetinnou čárkou. V případě konfliktů (například {42: -1, 42.0: 1}) se použije libovolná náhrada.
Příklady
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom"),
(None, None, None)],
schema=["age", "height", "name"])
Nahraďte hodnotu 10 20 ve všech sloupcích.
df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 20| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 20| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+
Nahraďte 'Alice' hodnotu null ve všech sloupcích.
df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80|NULL|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
Ve sloupci nahraďte 'Alice' a 'A' nahraďte ho '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|
# +----+------+----+
Nahraďte hodnotu 10 18 ve sloupci age .
df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 18| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+