Класс DataFrameNaFunctions

Функции для работы с отсутствующими данными в кадре данных.

Поддержка Spark Connect

Синтаксис

DataFrame.na

Методы

Метод Описание
drop(how, thresh, subset) Возвращает новый кадр данных, опустив строки со значениями NULL или NaN.
fill(value, subset) Возвращает новый кадр данных со значениями NULL, замененными указанным значением.
replace(to_replace, value, subset) Возвращает новый кадр данных, заменяющий значение другим значением.

Примеры

Удаление строк со значениями NULL

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

Заполнение значений NULL

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

Замена значений

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