Certificações ProfissionaisCursos e Qualificações

Como limpar dados usando Python: guia prático com Pandas

Aprenda a limpar dados usando Python. Veja códigos práticos para tratar valores ausentes, duplicatas e outliers



Em resumo:

  • Limpar dados usando Python corrige erros e lacunas em um conjunto de informações usando a biblioteca Pandas para garantir análises numéricas confiáveis.
  • O fluxo prático envolve carregar o arquivo original e aplicar blocos de código específicos para remover duplicatas e padronizar textos.

Antes de treinar um modelo ou montar um dashboard, existe uma etapa fundamental que decide a confiabilidade do resultado. Trata-se da limpeza dos dados.

Se você quer aprender a executar esse processo na prática com autonomia, veio ao lugar certo. Vamos mostrar o processo de inspecionar, corrigir e padronizar um conjunto de dados tabular usando Python com a biblioteca Pandas.

Visual abstrato de uma inspeção inicial de dataset tabular antes da limpeza

O que é e o que não é limpeza de dados?

A limpeza de dados identifica e corrige erros, valores ausentes e formatos incompatíveis. O objetivo é garantir que a base reflita a realidade da operação.

O processo inclui detectar campos vazios, registros repetidos e tipos de dado incorretos. A correção previne que números fiquem armazenados como texto ou que valores escapem do intervalo esperado.

É importante separar esse conceito de ações operacionais do sistema. Limpar o console de um terminal Python apenas remove o texto da tela. Excluir arquivos de cache também não afeta as informações do dataset.

Teste vocacional

Qual carreira combina com o seu perfil?

Responda as perguntas e descubra o curso certo e as bolsas ideais para você!

Carregando o dataset e primeiras inspeções

O Pandas oferece a função read_csv() para carregar dados em um DataFrame. Essa é a estrutura tabular central da ferramenta.

A inspeção inicial combina métodos simples. É possível verificar as primeiras linhas, o número de colunas, os tipos inferidos e um resumo estatístico.

Na nossa loja de eletrônicos fictícia, imagine uma planilha com identificador do pedido, produto e preço. A leitura inicial pode revelar que a coluna de preço foi lida como texto. Essa etapa funciona como um diagnóstico antes da intervenção corretiva.

Veja como aplicar essas funções de inspeção no código:

import pandas as pd

# Carregar o arquivo CSV
df = pd.read_csv('vendas.csv')

# Visualizar as primeiras linhas
print(df.head())

# Checar formato e tipos das colunas
print(df.info())

# Gerar resumo estatístico numérico
print(df.describe())

Padronizando strings e formatos

Padronizar textos e datas evita falhas de agrupamento. Espaços extras e letras maiúsculas misturadas separam dados iguais.

A coluna de estado do cliente pode conter variações como “SP” e “sp”. Aplicar funções de texto remove os espaços em branco. A conversão para caixa alta uniformiza toda a base.

A coluna de data também exige conversão unificada para viabilizar relatórios por mês ou ano.

Acompanhe os códigos de padronização de texto e data:

# Remover espaços extras nas extremidades
df['estado'] = df['estado'].str.strip()

# Converter todos os textos para letras maiúsculas
df['estado'] = df['estado'].str.upper()

# Uniformizar formatos de data
df['data_venda'] = pd.to_datetime(df['data_venda'])

Conversão de tipos de dados

Funções de conversão ajustam a natureza das colunas e evitam quebras no sistema.

Quando uma coluna de preço possui símbolos de moeda, o Python a interpreta como texto. Cálculos matemáticos produzirão erros nesta condição.

Para corrigir o faturamento, precisamos remover os caracteres e aplicar a função to_numeric(). Essa mudança transforma a string em um número válido.

Veja como ajustar os tipos de dados:

# Verificar os tipos atuais de cada coluna
print(df.dtypes)

# Substituir e remover texto indesejado
df['preco'] = df['preco'].str.replace('R$', '', regex=False)
df['preco'] = df['preco'].str.replace(',', '.', regex=False)

# Converter a coluna de texto para formato numérico
df['preco'] = pd.to_numeric(df['preco'])

Identificando e tratando valores ausentes

Agora que nossos dados estão com os formatos corretos, podemos lidar com lacunas. O Pandas permite remover ou preencher dados faltantes por meio dos métodos dropna() e fillna().

A escolha entre remover uma linha ou substituir o valor depende do impacto na análise. É preciso avaliar o volume de lacunas e a importância matemática da variável.

Na planilha da loja, a coluna de quantidade possui células vazias. Descartar essas linhas funciona quando a perda não compromete a amostra total.

Confira a aplicação prática do tratamento de valores nulos:

# Contar total de células vazias por coluna
print(df.isnull().sum())

# Remover todas as linhas com valores nulos
df_sem_nulos = df.dropna()

# Preencher células vazias com valor fixo (ex: zero)
df['quantidade'] = df['quantidade'].fillna(0)

# Preencher células vazias com a média da coluna (agora funciona, pois 'preco' é número!)
media_preco = df['preco'].mean()
df['preco'] = df['preco'].fillna(media_preco)

Removendo duplicatas

Registros duplicados distorcem contagens e somas. Eles atribuem peso financeiro ou estatístico extra ao mesmo evento.

O método drop_duplicates() identifica e elimina linhas repetidas. Ele avalia todas as colunas da planilha por padrão, mas aceita direcionamentos específicos.

Se a loja tiver dois registros com o mesmo identificador de pedido, ocorreu uma falha de importação. Aplicar a função focada na coluna do identificador evita manter duplicatas parciais no sistema.

Observe como eliminar as linhas repetidas:

# Contar o número de linhas repetidas
print(df.duplicated().sum())

# Remover duplicatas considerando todas as colunas
df = df.drop_duplicates()

# Remover duplicatas com foco apenas em uma coluna específica
df = df.drop_duplicates(subset=['id_pedido'])

Tratamento de valores atípicos (Outliers)

O intervalo interquartil (IQR) ajuda a detectar outliers numéricos. O método calcula a diferença de proporção entre o terceiro e o primeiro quartil da base.

Um pedido com valor muito alto pode ser uma venda em lote ou um erro de digitação de um funcionário. Avaliar a origem da discrepância evita a exclusão de faturamentos reais da empresa.

Entenda como isolar os valores atípicos no código:

# Calcular o 1º Quartil (Q1)
q1 = df['preco'].quantile(0.25)

# Calcular o 3º Quartil (Q3)
q3 = df['preco'].quantile(0.75)

# Calcular o limite máximo aceitável (IQR)
iqr = q3 - q1
limite_maximo = q3 + 1.5 * iqr

# Filtrar a base mantendo apenas os valores válidos
df_limpo = df[(df['preco'] <= limite_maximo)]

Salvando a base limpa

Após diagnosticar falhas, formatar strings, corrigir tipos, preencher vazios, remover duplicatas e tratar outliers, o processo de limpeza está concluído.

Para que essas correções não se percam quando o Python for fechado, é fundamental exportar o DataFrame limpo para um novo arquivo.

Usamos o parâmetro index=False para evitar que o Pandas crie uma coluna extra com a numeração das linhas.

Python

# Salvar o dataset tratado em um novo arquivo CSV
df_limpo.to_csv('vendas_limpo.csv', index=False)

print("Limpeza concluída e arquivo salvo com sucesso!")

Perguntas Frequentes (FAQ)

Qual biblioteca Python é mais indicada para limpeza de dados?

O Pandas é a biblioteca mais adotada pelo mercado. Ele reúne operações de leitura, diagnóstico e tratamento matemático em uma única interface.

Como converter uma coluna de texto em data no Pandas?

Use a função pd.to_datetime(). Ela transforma formatos diferentes em um tipo unificado para viabilizar ordenações cronológicas.

É necessário sempre remover linhas com valores ausentes?

Não. A exclusão é indicada apenas quando o volume de vazios é pequeno. Preencher os espaços em branco com médias preserva as informações originais das outras colunas.

Outliers identificados pelo IQR devem sempre ser removidos?

Não. A fórmula aponta desvios matemáticos. A decisão de apagar o registro exige uma investigação sobre a origem daquele número discrepante.

Qual a diferença entre limpar dados e normalizar dados?

A limpeza corrige falhas de preenchimento da base. A normalização reescala números para um intervalo comum e costuma focar na preparação para modelos de inteligência artificial.

É possível automatizar o processo de limpeza de dados?

As funções em lote permitem a automação técnica do código. As decisões interpretativas sobre outliers e dados nulos continuam exigindo o raciocínio humano.

Preciso validar os dados depois de aplicar as etapas de limpeza?

Sim. Repita a inspeção geral com a contagem de nulos e os resumos para garantir que as alterações funcionaram de forma correta.

Construa sua carreira em tecnologia com formações alinhadas ao mercado

Se você quer ingressar ou crescer no mercado da IA, a Allevo Tech oferece formações práticas em áreas de alta demanda, como Engenharia de Software, Ciência de Dados e Inteligência Artificial.

As trilhas são estruturadas para desenvolver competências técnicas e preparar você para os desafios do mercado de trabalho.

Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.

Logo do Querobolsa

Gostando da matéria?

Inscreva-se e receba nossos principais posts no seu e-mail

Banner FOQA Últimas Notícias

Revista Vídeos

As profissões mais bem pagas em 2026

Postado em 31/03/2026

Como estudar pro ENEM 2026 do ZERO

Postado em 23/04/2026


Pronto para estudar pagando menos?

Bolsas de até 80% de desconto em milhares de faculdades por todo o Brasil.
Encontrar minha bolsa