Pular para o conteúdo principal

Classe DataFrameNaFunctions

Funcionalidade para trabalhar com dados ausentes em um DataFrame.

Compatível com Spark Connect

Sintaxe

Python
DataFrame.na

Métodos

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 os valores nulos substituídos pelo valor especificado.

replace(to_replace, value, subset)

Retorna um novo DataFrame substituindo um valor por outro.

Exemplos

Remover linhas com valores nulos

Python
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()
Output
+---+------+-----+
|age|height| name|
+---+------+-----+
| 10| 80.0|Alice|
+---+------+-----+

Preencha os valores nulos.

Python
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()
Output
+---+------+-------+
|age|height| name|
+---+------+-------+
| 10| 80.5| Alice|
| 5| NULL| Bob|
| 50| NULL|unknown|
+---+------+-------+

Substituir valores

Python
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()
Output
+----+------+----+
| age|height|name|
+----+------+----+
| 10| 80| A|
| 5| NULL| B|
|NULL| 10| Tom|
+----+------+----+