
Como limpar dados usando Python: guia prático com Pandas
| 25/08/26Aprenda a limpar dados usando Python. Veja códigos práticos para tratar valores ausentes, duplicatas e outliers
Aprenda a limpar dados usando Python. Veja códigos práticos para tratar valores ausentes, duplicatas e outliers
Em resumo:
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.

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.
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())
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'])
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'])
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)
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'])
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)]
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!")
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.
Use a função pd.to_datetime(). Ela transforma formatos diferentes em um tipo unificado para viabilizar ordenações cronológicas.
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.
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.
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.
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.
Sim. Repita a inspeção geral com a contagem de nulos e os resumos para garantir que as alterações funcionaram de forma correta.
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.


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

Entenda a diferença entre dados estruturados e não estruturados. Descubra como armazenar e analisar cada formato

Em resumo: Longe dos palcos e das câmeras, existem famosos que provam ser verdadeiros gênios da tecnologia, quebrando o estereótipo de que “quem é de Humanas não tem talento para Exatas”. A lista está recheada de apresentadores, supermodelos e celebridades internacionais que equilibram o talento para a sétima arte com o gosto por códigos, dados […]