Compartilhar via


Classe DataFrameNaFunctions

Funcionalidade para trabalhar com dados ausentes em um DataFrame.

Dá suporte ao Spark Connect

Sintaxe

DataFrame.na

Methods

Método Descrição
drop(how, thresh, subset) Retorna um novo DataFrame omitindo linhas com valores nulos ou NaN.
fill(value, subset) Retorna um novo DataFrame com valores nulos substituídos pelo valor especificado.
replace(to_replace, value, subset) Retorna um novo DataFrame substituindo um valor por outro valor.

Exemplos

Remover linhas com valores nulos

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

Preencher valores nulos

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

Substituir valores

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