Compartilhar via


replace (DataFrame)

Retorna um novo DataFrame substituindo um valor por outro valor. DataFrame.replace e DataFrameNaFunctions.replace são aliases uns dos outros. Os valores to_replace e o valor devem ter o mesmo tipo e só podem ser numéricos, boolianos ou cadeias de caracteres. O valor pode ter Nenhum. Ao substituir, o novo valor será convertido no tipo da coluna existente.

Sintaxe

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 Descrição
to_replace bool, int, float, string, list or dict o valor a ser substituído. Se o valor for um ditado, então value será ignorado ou poderá ser omitido e to_replace deverá ser um mapeamento entre um valor e uma substituição.
value bool, int, float, string ou None, opcional O valor de substituição deve ser um bool, int, float, string ou None. Se value for uma lista, value deverá ter o mesmo comprimento e tipo que to_replace. Se value for um escalar e to_replace for uma sequência, então value será usado como uma substituição para cada item em to_replace.
subset lista, opcional lista opcional de nomes de coluna a serem considerados. As colunas especificadas no subconjunto que não têm tipos de dados correspondentes são ignoradas.

Devoluções

DataFrame: DataFrame com valores substituídos.

Exemplos

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