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
- Valores ausentes: Dados que estão faltando ou não foram preenchidos.
- Duplicação: Registros que aparecem mais de uma vez na base de dados.
- Erros de formatação: Dados que estão em formatos inconsistentes (por exemplo, datas no formato DD/MM/AAAA e MM/DD/AAAA misturados).
- Erros tipográficos: Erros de digitação que afetam a qualidade dos dados.
- 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.