substituir (DataFrameNaFunctions)

Devolve um novo DataFrame , substituindo um valor por outro valor. DataFrame.replace e DataFrameNaFunctions.replace são pseudónimos entre si. Os valores de to_replace e value devem ter o mesmo tipo e só podem ser numéricos, booleanos ou cadeias. value pode ser None. Ao substituir, o novo valor é convertido para o 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 substituir. Se for um dict, então value é ignorado e to_replace deve ser um mapeamento de um valor para o seu substituto.
value bool, int, float, str ou nenhum, opcionais O valor de substituição. Se for uma lista, deve ter o mesmo comprimento e tipo que to_replace. Se for um escalar e to_replace for uma sequência, o escalar é usado como substituto para cada item.
subset lista, opcional Nomes de colunas a considerar. Colunas em subset que não têm um tipo de dado correspondente são ignoradas.

Devoluções

DataFrame

Notes

Para substituições numéricas, todos os valores a substituir devem ter representações únicas em ponto flutuante. Em caso de conflitos (por exemplo, {42: -1, 42.0: 1}), é usada uma substituição arbitrária.

Exemplos

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

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

Substitui 'Alice' por null 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|
# +----+------+----+

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