Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve un nuevo DataFrame reemplazo de un valor por otro valor.
DataFrame.replace y DataFrameNaFunctions.replace son alias entre sí. Los valores de to_replace y value deben tener el mismo tipo y solo pueden ser numéricos, booleanos o cadenas.
value puede ser None. Al reemplazar, el nuevo valor se convierte en el tipo de la columna existente.
Sintaxis
replace(to_replace, value=None, subset=None)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
to_replace |
bool, int, float, str, list o dict | Valor que se va a reemplazar. Si se omite un dict, value se omite y to_replace debe ser una asignación de un valor a su reemplazo. |
value |
bool, int, float, str o None, opcional | Valor de reemplazo. Si una lista, debe tener la misma longitud y tipo que to_replace. Si un escalar y to_replace es una secuencia, el escalar se usa como reemplazo de cada elemento. |
subset |
list, opcional | Nombres de columna que se deben tener en cuenta. Las columnas de subset que no tienen un tipo de datos coincidente se omiten. |
Devoluciones
DataFrame
Notas
Para los reemplazos numéricos, todos los valores que se van a reemplazar deben tener representaciones de punto flotante únicas. En caso de conflictos (por ejemplo, {42: -1, 42.0: 1}), se usa un reemplazo arbitrario.
Ejemplos
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom"),
(None, None, None)],
schema=["age", "height", "name"])
Reemplace 10 por 20 en todas las columnas.
df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 20| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 20| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+
Reemplace 'Alice' por null en todas las columnas.
df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80|NULL|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
Reemplace por 'Alice''A' y 'Bob' por 'B' en la name columna .
df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80| A|
# | 5| NULL| B|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
Reemplace 10 por 18 en la age columna.
df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 18| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+