Pular para o conteúdo principal

substituir (DataFrame)

Retorna um novo DataFrame substituindo um valor por outro. DataFrame.replace e DataFrameNaFunctions.replace são sinônimos um do outro. Os valores `to_replace` e `value` devem ser do mesmo tipo e só podem ser numéricos, booleanos ou strings. O valor pode ser Nenhum. Ao substituir, o novo valor será convertido para o 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

booleano, inteiro, ponto flutuante, strings, lista ou dicionário

o valor a ser substituído. Se o valor for um dicionário, então value é ignorado ou pode ser omitido, e to_replace deve ser um mapeamento entre um valor e uma substituição.

value

bool, int, float, strings ou None, opcional

O valor de substituição deve ser um booleano, inteiro, ponto flutuante, string ou None. Se value for uma lista, value deverá ter o mesmo comprimento e tipo que to_replace. Se value é um escalar e to_replace é uma sequência, então value é usado como substituto para cada item em to_replace.

subset

lista, opcional

Lista opcional de nomes de colunas a serem considerados. As colunas especificadas no subconjunto que não possuem tipos de dados correspondentes serão ignoradas.

Devoluções

DataFrame: DataFrame com valores substituídos.

Exemplos

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