replace (DataFrame)

Retourne un nouveau DataFrame en remplaçant une valeur par une autre valeur. DataFrame.replace et DataFrameNaFunctions.replace sont des alias les uns des autres. Les valeurs to_replace et valeur doivent avoir le même type et peuvent uniquement être numériques, booléens ou chaînes. La valeur peut avoir Aucun. Lors du remplacement, la nouvelle valeur est convertie en type de colonne existante.

Syntaxe

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

Paramètres

Paramètre Type Description
to_replace bool, int, float, string, list ou dict valeur à remplacer. Si la valeur est une dictée, value elle est ignorée ou peut être omise et to_replace doit être un mappage entre une valeur et un remplacement.
value bool, int, float, string ou None, facultatif La valeur de remplacement doit être un bool, int, float, string ou None. S’il value s’agit d’une liste, value doit être de la même longueur et du même type que to_replace. S’il value s’agit d’un scalaire et to_replace d’une séquence, value il est utilisé comme remplacement pour chaque élément dans to_replace.
subset list, facultatif liste facultative des noms de colonnes à prendre en compte. Les colonnes spécifiées dans un sous-ensemble qui n’ont pas de types de données correspondants sont ignorées.

Retours

DataFrame: DataFrame avec des valeurs remplacées.

Exemples

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