Dela via


DataFrameNaFunctions-klass

Funktioner för att arbeta med data som saknas i en DataFrame.

Stöder Spark Connect

Syntax

DataFrame.na

Methods

Metod Beskrivning
drop(how, thresh, subset) Returnerar en ny DataFrame som utelämnar rader med null- eller NaN-värden.
fill(value, subset) Returnerar en ny DataFrame med null-värden som ersatts av det angivna värdet.
replace(to_replace, value, subset) Returnerar en ny DataFrame som ersätter ett värde med ett annat värde.

Exempel

Ta bort rader med null-värden

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

Fyll i null-värden

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

Byt ut värdena

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