Aller au contenu principal

remplacer (DataFrameNaFunctions)

Retourne un nouveau DataFrame en remplaçant une valeur par une autre valeur. DataFrame.replace et DataFrameNaFunctions.replace sont des alias l'un de l'autre. Les valeurs de to_replace et value doivent avoir le même type et peuvent être uniquement des nombres, des booléens ou des chaînes de caractères. value peut être None. Lors du remplacement, la nouvelle valeur est convertie au type de la colonne existante.

Syntaxe

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

parameter

parameter

Type

Description

to_replace

bool, int, float, str, liste ou dict

La valeur à remplacer. S'il s'agit d'un dictionnaire, value est ignoré et to_replace doit être un mappage d'une valeur vers son remplacement.

value

bool, int, float, str, ou None, facultatif

La valeur de remplacement. S'il s'agit d'une liste, elle doit être de la même longueur et du même type que to_replace. Si un scalaire et to_replace est une séquence, le scalaire est utilisé comme remplacement pour chaque élément.

subset

liste, facultative

Noms de colonne à prendre en compte. Les colonnes dans subset qui n'ont pas de type de données correspondant sont ignorées.

parameter

Type

Description

to_replace

bool, int, float, str, liste ou dict

La valeur à remplacer. S'il s'agit d'un dictionnaire, value est ignoré et to_replace doit être un mappage d'une valeur vers son remplacement.

value

bool, int, float, str, ou None, facultatif

La valeur de remplacement. S'il s'agit d'une liste, elle doit être de la même longueur et du même type que to_replace. Si un scalaire et to_replace est une séquence, le scalaire est utilisé comme remplacement pour chaque élément.

subset

liste, facultative

Noms de colonne à prendre en compte. Les colonnes dans subset qui n'ont pas de type de données correspondant sont ignorées.

Renvoie

DataFrame

Notes

Pour les remplacements numériques, toutes les valeurs à remplacer doivent avoir des représentations uniques en virgule flottante. En cas de conflits (par exemple, {42: -1, 42.0: 1}), un remplacement arbitraire est utilisé.

Exemples

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

Remplacez 10 par 20 dans toutes les colonnes.

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

Remplacez 'Alice' par la valeur nulle dans toutes les colonnes.

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

Remplacez 'Alice' par 'A' et 'Bob' par 'B' dans la colonne name.

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

Remplacez 10 par 18 dans la colonne age.

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