Condividi tramite


replace (DataFrame)

Restituisce un nuovo dataframe sostituendo un valore con un altro valore. DataFrame.replace e DataFrameNaFunctions.replace sono alias l'uno dell'altro. I valori to_replace e il valore devono avere lo stesso tipo e possono essere numerici, booleani o stringhe. Il valore può avere Nessuno. Quando si sostituisce, verrà eseguito il cast del nuovo valore al tipo della colonna esistente.

Sintassi

replace(to_replace: Union["LiteralType", List["LiteralType"], Dict["LiteralType", "OptionalPrimitiveType"]], value: Optional[Union["OptionalPrimitiveType", List["OptionalPrimitiveType"]]] = _NoValue, subset: Optional[List[str]] = None)

Parametri

Parametro Tipo Descrizione
to_replace bool, int, float, string, list o dict valore da sostituire. Se il valore è un dict, viene value ignorato o può essere omesso e deve essere un mapping tra un valore e to_replace una sostituzione.
value bool, int, float, string o None, facoltativo Il valore di sostituzione deve essere un valore bool, int, float, string o None. Se value è un elenco, value deve avere la stessa lunghezza e tipo di to_replace. Se value è scalare ed to_replace è una sequenza, value viene usato come sostituzione per ogni elemento in to_replace.
subset list, facoltativo elenco facoltativo di nomi di colonna da considerare. Le colonne specificate nel subset che non dispongono di tipi di dati corrispondenti vengono ignorate.

Restituzioni

DataFrame: DataFrame con valori sostituiti.

Examples

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