Back

Limpeza de dados na prática

Já falamos sobre limpeza de dados anteriormente, mas agora que estamos mais familiarizados com o Python e SQL, vamos abordar de uma forma mais técnica nesse artigo.

Tipos comuns de problemas em dados

  1. Valores ausentes: Dados que estão faltando ou não foram preenchidos.
  2. Duplicação: Registros que aparecem mais de uma vez na base de dados.
  3. Erros de formatação: Dados que estão em formatos inconsistentes (por exemplo, datas no formato DD/MM/AAAA e MM/DD/AAAA misturados).
  4. Erros tipográficos: Erros de digitação que afetam a qualidade dos dados.
  5. Dados inconsistentes: Dados que não seguem uma regra ou padrão predefinido.

Aqui estão algumas práticas comuns e ferramentas usadas para a limpeza de dados:

1. Tratamento de valores ausentes

  • Substituição por valor padrão: Preencher valores ausentes com um valor padrão ou média.
  • Remoção de registros: Excluir registros com muitos valores ausentes.
import pandas as pd  
# Leitura dos dados 
df = pd.read_csv('dados.csv')  

# Substituir valores ausentes com a média 
df['idade'].fillna(df['idade'].mean(), inplace=True)  

# Remover registros com valores ausentes 
df.dropna(subset=['salario'], inplace=True)

2. Remoção de duplicatas

  • Identificação e exclusão de duplicatas: Garantir que cada registro seja único.
import pandas as pd  

# Leitura dos dados 
df = pd.read_csv('dados.csv')  

# Remover registros duplicados 
df.drop_duplicates(inplace=True)

3. Correção de erros de formatação

  • Padronização de formatos: Converter dados para um formato consistente, como datas ou números.
import pandas as pd  

# Leitura dos dados 
df = pd.read_csv('dados.csv')  

# Padronizar o formato de datas 
df['data_nascimento'] = pd.to_datetime(df['data_nascimento'], format='%d/%m/%Y')  

# Padronizar o formato de números 
df['salario'] = df['salario'].replace('[\$,]', '', regex=True).astype(float)

4. Correção de Erros Tipográficos

  • Correção Manual ou Automatizada: Corrigir erros de digitação usando mapeamentos ou algoritmos de correção.
import pandas as pd  

# Leitura dos dados 
df = pd.read_csv('dados.csv')  

# Correção de erros tipográficos 
df['estado'] = df['estado'].replace({'Sao Paulo': 'São Paulo', 'Rio de Janeero': 'Rio de Janeiro'})

5. Tratamento de dados inconsistentes

  • Aplicação de regras e validações: Garantir que os dados sigam regras predefinidas.
import pandas as pd  

# Leitura dos dados 
df = pd.read_csv('dados.csv')  

# Verificar valores inconsistentes 
df = df[df['idade'] > 0]

Ferramentas e Bibliotecas para Limpeza de Dados

Além do pandas, que é amplamente utilizado para a limpeza de dados em Python, existem outras ferramentas e bibliotecas que podem ajudar:

  • OpenRefine: Uma ferramenta de código aberto para trabalhar com dados desordenados.
  • Dedupe: Biblioteca para encontrar e remover duplicatas de registros.
  • DataCleaner: Ferramenta para análise e limpeza de dados.