replace (DataFrame)

Devuelve un nuevo dataframe reemplazando un valor por otro valor. DataFrame.replace y DataFrameNaFunctions.replace son alias entre sí. Los valores to_replace y value deben tener el mismo tipo y solo pueden ser numéricos, booleanos o cadenas. El valor puede tener Ninguno. Al reemplazar, el nuevo valor se convertirá en el tipo de la columna existente.

Sintaxis

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

Parámetros

Parámetro Tipo Descripción
to_replace bool, int, float, string, list o dict valor que se va a reemplazar. Si el valor es un dict, value se omite o se puede omitir y to_replace debe ser una asignación entre un valor y un reemplazo.
value bool, int, float, string o None, opcional El valor de reemplazo debe ser bool, int, float, string o None. Si value es una lista, value debe tener la misma longitud y tipo que to_replace. Si value es escalar y to_replace es una secuencia, value se usa como reemplazo de cada elemento de to_replace.
subset list, opcional lista opcional de nombres de columna que se deben tener en cuenta. Se omiten las columnas especificadas en el subconjunto que no tienen tipos de datos coincidentes.

Devoluciones

DataFrame: DataFrame con valores reemplazados.

Ejemplos

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