Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Retorna um novo DataFrame substituindo um valor por outro valor.
DataFrame.replace e DataFrameNaFunctions.replace são aliases uns dos outros. Valores para to_replace e value devem ter o mesmo tipo e só podem ser numéricos, boolianos ou cadeias de caracteres.
value pode ser None. Ao substituir, o novo valor é convertido no tipo da coluna existente.
Sintaxe
replace(to_replace, value=None, subset=None)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
to_replace |
bool, int, float, str, list ou dict | O valor a ser substituído. Se um ditado, então value , é ignorado e to_replace deve ser um mapeamento de um valor para sua substituição. |
value |
bool, int, float, str ou None, opcional | O valor de substituição. Se uma lista, deve ter o mesmo comprimento e tipo que to_replace. Se um escalar e to_replace for uma sequência, o escalar será usado como a substituição para cada item. |
subset |
lista, opcional | Nomes de coluna a serem considerados. As colunas que subset não têm um tipo de dados correspondente são ignoradas. |
Devoluções
DataFrame
Observações
Para substituições numéricas, todos os valores a serem substituídos devem ter representações de ponto flutuante exclusivas. No caso de conflitos (por exemplo, {42: -1, 42.0: 1}), uma substituição arbitrária é usada.
Exemplos
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom"),
(None, None, None)],
schema=["age", "height", "name"])
Substitua 10 por 20 em todas as colunas.
df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 20| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 20| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+
Substitua 'Alice' por nulo em todas as colunas.
df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80|NULL|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
Substitua 'Alice' por 'A' e 'Bob' com 'B' na name coluna.
df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# | 10| 80| A|
# | 5| NULL| B|
# |NULL| 10| Tom|
# |NULL| NULL|NULL|
# +----+------+----+
Substitua 10 por 18 na age coluna.
df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# | 18| 80|Alice|
# | 5| NULL| Bob|
# |NULL| 10| Tom|
# |NULL| NULL| NULL|
# +----+------+-----+