drop (DataFrameNaFunctions)

Возвращает новые DataFrame строки с значениями NULL или NaN. DataFrame.dropna и DataFrameNaFunctions.drop являются псевдонимами друг друга.

Синтаксис

drop(how='any', thresh=None, subset=None)

Параметры

Параметр Тип Описание
how str, необязательный Следует ли удалить строку, если она содержит значения NULL или только если все его значения имеют значение NULL. Допустимые значения: 'any' (по умолчанию) и 'all'. Если thresh задано, how игнорируется.
thresh int, необязательный Если задано, удалите строки, которые имеют меньше значений, отличных от thresh NULL. Перезаписывает how.
subset str, кортеж или список, необязательный Имена столбцов, которые следует учитывать при проверке значений NULL или NaN.

Возвраты

DataFrame

Примеры

from pyspark.sql import Row
df = spark.createDataFrame([
    Row(age=10, height=80.0, name="Alice"),
    Row(age=5, height=float("nan"), name="Bob"),
    Row(age=None, height=None, name="Tom"),
    Row(age=None, height=float("nan"), name=None),
])

Удалите строку, если она содержит любое значение NULL или NaN.

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

Удалите строку только в том случае, если все его значения имеют значение NULL или NaN.

df.na.drop(how='all').show()
# +----+------+-----+
# | age|height| name|
# +----+------+-----+
# |  10|  80.0|Alice|
# |   5|   NaN|  Bob|
# |NULL|  NULL|  Tom|
# +----+------+-----+

Удалите строки, которые имеют меньше значений, отличных от thresh NULL и не naN.

df.na.drop(thresh=2).show()
# +---+------+-----+
# |age|height| name|
# +---+------+-----+
# | 10|  80.0|Alice|
# |  5|   NaN|  Bob|
# +---+------+-----+

Удалите строки со значениями NULL и NaN в указанных столбцах.

df.na.drop(subset=['age', 'name']).show()
# +---+------+-----+
# |age|height| name|
# +---+------+-----+
# | 10|  80.0|Alice|
# |  5|   NaN|  Bob|
# +---+------+-----+