Pular para o conteúdo principal

Python NaN: 4 maneiras de verificar se há valores ausentes em Python

Explore quatro maneiras de detectar valores NaN em Python, usando NumPy e Pandas. Aprenda as principais diferenças entre NaN e None para limpar e analisar dados com eficiência.
Actualizado 15 de jan. de 2025  · 5 min de leitura

No mundo da ciência de dados e da análise, encontrar dados ausentes é mais uma regra do que uma exceção. Os valores ausentes podem distorcer a análise, levar a conclusões incorretas e, em geral, interromper o fluxo do processamento de dados. A solução dessas lacunas é fundamental para manter a integridade de sua análise. Este artigo tem como objetivo equipar você com diferentes maneiras de identificar valores NaN (Not a Number) em Python.

A resposta curta: Use a função NumPy's isnan() ou Pandas .isna() método

Ao lidar com valores ausentes em Python, a abordagem depende muito da estrutura de dados com a qual você está trabalhando.

Para valores individuais ou matrizes: Use o NumPy

A função isnan() do NumPy é ideal para identificar NaNs em matrizes numéricas ou valores únicos, oferecendo uma solução direta e eficiente. Aqui está ele em ação!

import numpy as np

# Single value check
my_missing_value = np.nan
print(np.isnan(my_missing_value))  # Output: True

# Array check
my_missing_array = np.array([1, np.nan, 3])
nan_array = np.isnan(my_missing_array)
print(nan_array)  # Output: [False  True False]

Para DataFrames: Use Pandas

O Pandas oferece métodos abrangentes, como .isna() e .isnull(), para detectar valores ausentes em objetos DataFrame ou Series, integrando-se perfeitamente aos fluxos de trabalho de análise de dados.

import pandas as pd
import numpy as np

my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})


print(my_dataframe.isna())

Quando você executar esse código, a saída indicará a presença de valores NaN em um contexto mais interessante, conforme mostrado abaixo:

   Column1  Column2
0    False    False
1    False     True
2     True    False

A diferença entre NaN e None

Entender a distinção entre NaN e None é fundamental em Python. NaN é uma representação de ponto flutuante de "Not a Number" (Não é um número), usada principalmente em cálculos numéricos. None Por outro lado, é o objeto do Python que representa a ausência de um valor, semelhante a null em outras linguagens. Enquanto o NaN é usado em cálculos matemáticos ou científicos, o None é de uso mais geral, indicando a falta de dados.

4 maneiras de verificar se há NaN em Python

Navegar pelos conjuntos de dados para identificar valores ausentes é uma etapa essencial do pré-processamento de dados. Vamos explorar quatro métodos práticos para verificar os valores de NaN em Python, continuando com os exemplos envolventes que já usamos.

1. Verificação de NaN usando np.isnan()

Como vimos anteriormente, o NumPy oferece uma abordagem direta para identificar NaN valores em valores únicos e matrizes, o que é essencial para a análise de dados numéricos.

import numpy as np

# Checking a single value
print(np.isnan(np.nan))  # Output: True

# Checking an array
my_array = np.array([1, 5, np.nan])
print(np.isnan(my_array))  # Output: [False False  True]

2. Verificação de NaN usando pd.isna()

O Pandas simplifica a detecção de valores NaN em estruturas de dados, de escalares a DataFrames complexos, tornando-o inestimável para tarefas de manipulação de dados.

import pandas as pd

# Checking a single value
print(pd.isna(np.nan))  # Output: True

# Checking a pandas Series
my_series = pd.Series(["Python", np.nan, "The Best"])
print(my_series.isna())  # Output: [False  True  False]

# Checking a pandas DataFrame
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})


print(pd.isna(my_dataframe)) # Output a DataFrame with True for missing values

3. Verificação de NaN em DataFrames usando Pandas .isna() ou .isnull() métodos

O Pandas DataFrames também oferece os métodos .isna() e .isnull() para identificar facilmente os valores ausentes nos conjuntos de dados, fornecendo uma visão geral clara da integridade dos dados.

import pandas as pd

# Create a dataframe with missing values
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

print(my_dataframe.isnull())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

4. Verificação de NaN em DataFrames usando math.isnan()

Para verificações de números individuais, a função math.isnan() oferece uma solução simples e eficaz, especialmente quando você lida com tipos de dados Python puros.

import math

# Assuming my_number is a float or can be converted to one
my_number = float('nan')
print(math.isnan(my_number))  # Output: True

Considerações finais e recursos adicionais

Identificar e gerenciar valores NaN é uma etapa fundamental na limpeza e preparação dos dados para análise. Se você estiver trabalhando com matrizes, séries ou quadros de dados, é essencial compreender as ferramentas e os métodos disponíveis no Python para lidar com dados ausentes. Para aprofundar o assunto, confira os seguintes recursos:


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel é educador de ciência de dados, palestrante e evangelista da DataCamp, onde lançou vários cursos e treinamentos ao vivo sobre análise de dados, aprendizado de máquina e engenharia de dados. Ele é apaixonado pela disseminação das habilidades e da alfabetização de dados nas organizações e pela interseção entre tecnologia e sociedade. Ele tem um mestrado em ciência de dados e análise de negócios. Em seu tempo livre, você pode encontrá-lo passeando com seu gato Louis.

Temas

Comece sua jornada com Python hoje mesmo!

programa

Python Data Fundamentals

30hrs hr
Grow your data skills, discover how to manipulate and visualize data, and apply advanced analytics to make data-driven decisions.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Data Skills

blog

6 práticas recomendadas de Python para um código melhor

Descubra as práticas recomendadas de codificação Python para escrever os melhores scripts Python da categoria.
Javier Canales Luna's photo

Javier Canales Luna

13 min

tutorial

Principais técnicas para lidar com valores ausentes que todo cientista de dados deve conhecer

Explore várias técnicas para lidar eficientemente com valores ausentes e suas implementações em Python.
Zoumana Keita 's photo

Zoumana Keita

15 min

tutorial

Matrizes Python

Matrizes Python com exemplos de código. Saiba como criar e imprimir matrizes usando o Python NumPy hoje mesmo!
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

20 min

tutorial

21 ferramentas essenciais do Python

Aprenda sobre as ferramentas Python essenciais para o desenvolvimento de software, raspagem e desenvolvimento da Web, análise e visualização de dados e aprendizado de máquina.
Abid Ali Awan's photo

Abid Ali Awan

6 min

tutorial

Entendendo o desvio de dados e o desvio de modelo: Detecção de deriva em Python

Navegue pelos perigos do desvio de modelo e explore nosso guia prático para o monitoramento do desvio de dados.
Moez Ali's photo

Moez Ali

9 min

Ver maisVer mais