vervangen (DataFrameNaFunctions)

Retourneert een nieuwe DataFrame vervanging van een waarde door een andere waarde. DataFrame.replace en DataFrameNaFunctions.replace zijn aliassen van elkaar. Waarden voor to_replace en value moeten hetzelfde type hebben en mogen alleen numerieke waarden, booleaanse waarden of tekenreeksen zijn. value kan zijn None. Bij het vervangen wordt de nieuwe waarde omgezet in het type van de bestaande kolom.

Syntaxis

replace(to_replace, value=None, subset=None)

Parameterwaarden

Kenmerk Typ Beschrijving
to_replace bool, int, float, str, list of dict De waarde die moet worden vervangen. Als een dict wordt genegeerd, valueto_replace moet dit een toewijzing zijn van een waarde aan de vervanging ervan.
value bool, int, float, str of None, optioneel De vervangingswaarde. Als een lijst dezelfde lengte en type moet hebben als to_replace. Als een scalaire waarde en to_replace een reeks is, wordt de scalaire waarde gebruikt als vervanging voor elk item.
subset lijst, optioneel Kolomnamen die u moet overwegen. Kolommen die subset geen overeenkomend gegevenstype hebben, worden genegeerd.

Retouren

DataFrame

Aantekeningen

Voor numerieke vervangingen moeten alle waarden die moeten worden vervangen, unieke drijvendekommagepresentaties hebben. In geval van conflicten (bijvoorbeeld {42: -1, 42.0: 1}), wordt een willekeurige vervanging gebruikt.

Examples

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

Vervang 10 door 20 in alle kolommen.

df.na.replace(10, 20).show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# |  20|    80|Alice|
# |   5|  NULL|  Bob|
# |NULL|    20|  Tom|
# |NULL|  NULL| NULL|
# +----+------+-----+

Vervang door 'Alice' null in alle kolommen.

df.na.replace('Alice', None).show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# |  10|    80|NULL|
# |   5|  NULL| Bob|
# |NULL|    10| Tom|
# |NULL|  NULL|NULL|
# +----+------+----+

Vervang 'Alice' door 'A' en 'Bob' door 'B' in de name kolom.

df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
# +----+------+----+
# | age|height|name|
# +----+------+----+
# |  10|    80|   A|
# |   5|  NULL|   B|
# |NULL|    10| Tom|
# |NULL|  NULL|NULL|
# +----+------+----+

Vervang 10 door 18 in de age kolom.

df.na.replace(10, 18, 'age').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# |  18|    80|Alice|
# |   5|  NULL|  Bob|
# |NULL|    10|  Tom|
# |NULL|  NULL| NULL|
# +----+------+-----+