A função DataFrame.dropna() do Python Pandas é usada para remover todas as linhas ou colunas com valores ausentes (NaN) em um DataFrame. Isso a torna especialmente importante nos processos de preparação e limpeza de dados.

Hospedagem web com consultor pessoal

Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!

  • Domínio
  • SSL Wildcard
  • Suporte 24 horas

Qual é a sintaxe da função Pandas dropna()?

A função Pandas dropna() aceita a inclusão de até cinco parâmetros. Esta é sua sintaxe:

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False, ignore_index=False)
python

Parâmetros importantes da função Pandas dropna()

É possível usar parâmetros para influenciar o comportamento da função Pandas DataFrame.dropna(). Este é um resumo das opções mais importantes:

Parâmetro Descrição Valor padrão
axis Determina se as linhas (0 ou index) ou colunas (1 ou columns) serão removidas 0
how Especifica se todos (all) ou alguns (any) valores devem ser NaN any
thresh Especifica o número mínimo de valores que não são NaN que uma linha ou coluna deve ter para que eles não sejam removidos. Se especificado, o parâmetro how será ignorado optional
subset Especifica quais linhas ou colunas devem ser levadas em consideração pela função optional
inplace Determina se a operação é executada no DataFrame original False
ignore_index Se verdadeiro (True), os eixos restantes são marcados de 0 a n-1 False

Como usar a função Pandas DataFrame.dropna()

A função Pandas dropna() é usada para limpar os dados antes de desempenhar uma análise. A remoção de linhas ou colunas com valores ausentes previne a ocorrência de vieses em avaliações estatísticas. Como os valores ausentes também podem gerar problemas de visualização de dados, o uso dessa função é vantajoso para produzir gráficos e relatórios.

Remover linhas com valores ausentes

No exemplo abaixo, temos um DataFrame com valores NaN (não numéricos):

import pandas as pd
import numpy as np
# Criar um DataFrame com dados de exemplo
data = {
    'A': [1, 2, np.nan, 4],
    'B': [5, np.nan, np.nan, 8],
    'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
print(df)
python

Este será o DataFrame resultante:

A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
2  NaN  NaN  11
3  4.0  8.0  12

Em seguida, vamos aplicar a função Pandas dropna():

## Remover todas as linhas que contêm pelo menos um valor NaN
df_cleaned = df.dropna()
print(df_cleaned)
python

A execução do código acima produz este resultado:

A    B  C
0  1.0  5.0  9
3  4.0  8.0 12

Como as demais linhas continham valores NaN, apenas as linhas 0 e 3 foram exibidas.

Remover colunas com valores ausentes

Também é possível remover as colunas com valores ausentes ao definir o parâmetro axis como 1:

## Remover todas as colunas que contêm pelo menos um valor NaN
df_cleaned_columns = df.dropna(axis=1)
print(df_cleaned_columns)
python

A coluna C é a única que será exibida, pois não contém nenhum valor NaN:

C
0   9
1  10
2  11
3  12

Usar o parâmetro thresh

Se quiser remover as linhas que contêm menos que dois valores que não são NaN, use o parâmetro thresh:

## Manter apenas as linhas que têm 2 ou mais valores que não são NaN
df_thresh = df.dropna(thresh=2)
print(df_thresh)
python

A execução do código acima produz o seguinte resultado:

A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
3  4.0  8.0  12

A linha 2 foi removida porque continha menos de dois valores que não são NaN.

Usar o parâmetro subset

O parâmetro subset possibilita que você especifique as colunas nas quais a função deve procurar os valores ausentes. Somente linhas que contêm valores ausentes dentre as colunas especificadas serão removidas.

## Remover todas as linhas em que a coluna A contém um valor NaN
df_subset = df.dropna(subset=['A'])
print(df_subset)
python

Nesse caso, somente a linha 2 foi removida. O valor NaN na linha 1 foi ignorado devido ao parâmetro subset, que levou em consideração somente a coluna A:

A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
3  4.0  8.0  12
Este artigo foi útil?
Ir para o menu principal