Freigeben über


DataFrameNaFunctions-Klasse

Funktionalität zum Arbeiten mit fehlenden Daten in einem DataFrame.

Unterstützt Spark Connect

Syntax

DataFrame.na

Methodik

Methode Beschreibung
drop(how, thresh, subset) Gibt einen neuen DataFrame zurück, der Zeilen mit Null- oder NaN-Werten weggelassen.
fill(value, subset) Gibt einen neuen DataFrame mit NULL-Werten zurück, die durch den angegebenen Wert ersetzt werden.
replace(to_replace, value, subset) Gibt einen neuen DataFrame zurück, der einen Wert durch einen anderen Wert ersetzt.

Beispiele

Zeilen mit Nullwerten ablegen

from pyspark.sql import Row

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

df.na.drop().show()
+---+------+-----+
|age|height| name|
+---+------+-----+
| 10|  80.0|Alice|
+---+------+-----+

Füllen von Nullwerten

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

df.na.fill({'age': 50, 'name': 'unknown'}).show()
+---+------+-------+
|age|height|   name|
+---+------+-------+
| 10|  80.5|  Alice|
|  5|  NULL|    Bob|
| 50|  NULL|unknown|
+---+------+-------+

Ersetzen von Werten

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

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