Aprenda a analisar dados com Python e as principais bibliotecas
Neste artigo você vai aprender a usar Python para dados com as bibliotecas Pandas, Plotly e OpenPyXL. Baixe os códigos completos e acompanhe o passo a passo.
Vamos direto pra prática, usando uma base de dados contendo idade, experiência, horas estudadas, cafés consumidos por dia e notas em uma prova.
Além de mostrar como limpar, analisar e exportar dados para relatórios profissionais com poucas linhas de código, você também vai entender os erros mais comuns que podem comprometer os resultados, como ignorar correlações entre variáveis.
Para analisar dados com Python, a combinação mais usada é Pandas (carregar, limpar e manipular tabelas), Plotly ou Matplotlib (gráficos) e OpenPyXL (ler e gravar arquivos Excel). Com poucas linhas você importa os dados, trata valores ausentes, calcula estatísticas e exporta relatórios profissionais.
Siga lendo e adquira conhecimento! 👇🧠
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Por que Python para Análise de Dados?
Python é uma das ferramentas mais poderosas e versáteis para análise de dados, superando métodos tradicionais como planilhas e tabelas em diversos pontos:
- Profissionalismo: Dominar Python, especialmente bibliotecas como Pandas, é uma habilidade altamente valorizada no mercado.
- Eficiência: Manipula grandes volumes de dados com poucas linhas de código.
- Automatização: Permite reutilizar scripts para análises recorrentes, eliminando retrabalho.
- Escalabilidade: Lida com diferentes formatos e tamanhos de dados, de CSVs a bancos de dados complexos.
Combinada com bibliotecas como Pandas para manipulação de dados, Plotly para visualizações e OpenPyXL para exportação em Excel, a análise de dados com Python consegue ser mais simples, rápida e oferecer mais possibilidades que outras ferramentas.
Passo a Passo para Análise de Dados com Python
1. Configurando o Ambiente
Para começar, você precisa instalar as bibliotecas necessárias no terminal:
pip install pandas plotly openpyxlAgora crie seu arquivo .py e importe as bibliotecas nele:
import pandas as pd
import plotly.express as pxExplicação:
- Pandas: Manipula e analisa dados em formato de tabelas (DataFrames).
- Plotly: Cria visualizações interativas, como gráficos de calor.
- OpenPyXL: Permite exportar dados para planilhas Excel.
2. Carregando a Base de Dados
Vamos usar uma base de dados em CSV chamada dados_transacoes.csv, com as colunas: idade, experiência, horas_estudadas, cafes_por_dia e nota_prova. Para carregá-la:
tabela = pd.read_csv("dados_transacoes.csv")Gere uma tabela para visualizar as primeiras linhas (head) e confirmar que os dados foram carregados corretamente:
print(tabela.head())3. Limpando a Base de Dados
Antes de analisar, é essencial tratar problemas como duplicatas e valores vazios:
linhas_iniciais = len(tabela)
tabela = tabela.drop_duplicates().dropna()
linhas_finais = len(tabela)
print(f"Linhas iniciais: {linhas_iniciais}")
print(f"Linhas finais: {linhas_finais}")Exemplo de resultado: Uma base com 1200 linhas pode ser reduzida para 782 após a remoção de duplicatas e valores vazios, garantindo dados mais confiáveis.
Por que limpar? Porque dados duplicados ou incompletos podem distorcer análises, levando a conclusões erradas.
4. Análise Exploratória
Com a base limpa, podemos explorar os dados.
O pandas possui um comand muito prático para obter um resumo estatístico (com média, mediana, desvio padrão, etc.) de todas as colunas, incluindo as de texto:
resumo = tabela.describe(include='all')Isso fornece métricas como média, mediana, desvio padrão e contagens únicas (ex.: 5 cidades diferentes, com São Paulo aparecendo em 167 registros).
Para analisar correlações entre colunas numéricas, como idade e renda mensal:
correlacoes = tabela.corr(numeric_only=True)Esses comandos geram insights valiosos.
Por exemplo, a correlação entre idade e nota_prova parece ser baixa (ex.: 0,13), indicando pouca relação, enquanto horas_estudadas e cafes_por_dia têm uma correlação forte (0,98).
Identificando e resolvendo um erro comum: Variáveis Correlacionadas
Um erro frequente em projetos de análise de dados é manter variáveis fortemente correlacionadas, que podem distorcer resultados ao atribuir peso dobrado a um mesmo fator.
Cálculo da correlação:
tabela_corr = tabela.corr(numeric_only=True)Visualização com gráfico de calor: Para facilitar a interpretação, crie um gráfico de calor com Plotly:
grafico = px.imshow(tabela_corr, text_auto=True, color_continuous_scale="Greens")
grafico.show()Interpretação:
- Valores próximos de 1 ou -1 indicam correlação forte (ex.: 0,98 entre horas_estudadas e cafes_por_dia).
- Valores próximos de 0 indicam pouca relação (ex.: 0,13 entre idade e experiência).
- Correlações fortes (acima de 0,7 ou abaixo de -0,7) sugerem redundância.
O problema: A correlação de 0,98 entre horas_estudadas e cafes_por_dia indica que essas variáveis são quase idênticas em termos numéricos. Incluir ambas em um modelo para prever nota_prova pode levar a conclusões erradas, como atribuir 10% de impacto a cada uma (totalizando 20%), quando o impacto real é apenas 10%, pois elas representam a mesma informação.
A solução: Elimine uma das variáveis. Por exemplo, mantenha horas_estudadas e descarte cafes_por_dia:
tabela = tabela.drop(columns=["cafes_por_dia"])Por que isso importa? Em projetos de machine learning ou análise estatística, variáveis redundantes podem confundir algoritmos, reduzindo a precisão.
Essa prática é comum em plataformas como Kaggle, onde os melhores projetos analisam correlações logo após a limpeza dos dados.
5. Exportando para Excel
Para compartilhar os resultados com colegas ou gestores, salve o resumo e as correlações em uma planilha Excel:
with pd.ExcelWriter('resumo.xlsx') as arquivo:
resumo.to_excel(arquivo, sheet_name='Resumo')
correlacoes.to_excel(arquivo, sheet_name='Correlacoes')Esse código cria uma planilha resumo.xlsx com duas abas:
- Resumo: Estatísticas descritivas de todas as colunas.
- Correlacoes: Matriz de correlação entre variáveis numéricas
Esse formato é compatível com qualquer software de planilhas (Excel, Google Sheets etc), então é fácil de acessar e de fazer apresentações e relatórios.
Oito Passos para Tratamento de Dados com Python em Uma Linha de Código
A análise de dados é uma habilidade essencial no mercado atual, mas bases de dados desorganizadas podem comprometer os resultados. Vamos ver oito passos fundamentais para tratar dados usando Python, com a biblioteca Pandas, cada um executado com apenas uma linha de código.
Entegraremos técnicas de análise de correlação e exportação para Excel, garantindo um fluxo completo de tratamento e análise de dados.
Por que Python para Tratamento de Dados?
Python é a ferramenta preferida para análise de dados devido à sua eficiência, flexibilidade e ecossistema robusto. A biblioteca Pandas permite manipular grandes volumes de dados com poucas linhas de código, enquanto OpenPyXL facilita a exportação para Excel. Esses recursos tornam o Python ideal para automatizar tarefas, lidar com diferentes formatos de dados e produzir resultados profissionais.
Vantagens do Python:
- Eficiência: Uma única linha de código pode realizar tarefas complexas, como calcular correlações ou remover duplicatas.
- Automatização: Scripts reutilizáveis eliminam retrabalho.
- Escalabilidade: Lida com bases de dados grandes e variadas.
- Reconhecimento profissional: Habilidade valorizada em carreiras de dados, usada em plataformas como Kaggle.
Configurando o Ambiente
Antes de começar, instale as bibliotecas necessárias no terminal:
pip install pandas openpyxlNo script Python, importe o Pandas:
import pandas as pdPasso 1: Importar a Base de Dados
O primeiro passo é carregar a base de dados. Suponha que temos um arquivo dados_baguncados.csv com colunas como Produto, Categoria, Quantidade, Preço Unitário, Data Venda, Cliente, Cliente_Email, UF e Coluna Inútil (vazia).
Código:
tabela = pd.read_csv("dados_baguncados.csv")Explicação: O método pd.read_csv() carrega o arquivo CSV em um DataFrame, que é a estrutura de dados do Pandas. Para verificar se a importação foi bem-sucedida:
print(tabela.head())Passo 2: Padronizar Nomes de Colunas
Nomes de colunas inconsistentes (ex.: mistura de maiúsculas e minúsculas ou espaços extras) dificultam a análise. Padronize os nomes para letras minúsculas e remova espaços.
Código:
tabela.columns = tabela.columns.str.strip().str.lower()Explicação:
str.strip(): Remove espaços em branco no início e fim dos nomes.str.lower(): Converte todos os nomes para letras minúsculas.
Resultado: Colunas como Produto, Preço Unitário e Cliente_Email tornam-se produto, preco_unitario e cliente_email.
Por que fazer isso? Padronizar evita erros ao referenciar colunas, especialmente em bases grandes com 45+ colunas.
Passo 3: Remover Duplicatas
Valores duplicados podem distorcer análises, como cálculos de média ou contagens. O Pandas permite remover duplicatas facilmente.
Código:
tabela = tabela.drop_duplicates()Explicação: O método drop_duplicates() remove linhas idênticas em todas as colunas. Para remover duplicatas com base em uma coluna específica (ex.: cliente_email):
tabela = tabela.drop_duplicates(subset="cliente_email")Resultado: Se a base tinha 15 linhas e nenhuma duplicata, ela mantém 15 linhas. Caso contrário, linhas redundantes são eliminadas.
Passo 4: Excluir Colunas Vazias
Colunas completamente vazias, como coluna_inutil, não agregam valor e atrapalham a análise.
Código:
tabela = tabela.dropna(axis=1, how="all")Explicação:
axis=1: Indica que estamos tratando colunas.how="all": Remove apenas colunas onde todos os valores são nulos.
Resultado: A coluna coluna_inutil é removida, reduzindo o número de colunas (ex.: de 9 para 8).
Passo 5: Tratar Tipos de Dados
Colunas com tipos incorretos (ex.: datas reconhecidas como texto) podem impedir cálculos. Verifique os tipos com:
print(tabela.info())Se a coluna data_venda for reconhecida como object (texto) em vez de datetime, converta-a:
Código:
tabela["data_venda"] = pd.to_datetime(tabela["data_venda"], errors="coerce")Explicação:
pd.to_datetime(): Converte a coluna para o formatodatetime.errors="coerce": Transforma valores inválidos (ex.: “15 de fevereiro”) em nulos, evitando erros.
Resultado: A coluna data_venda agora é tratada como data, permitindo cálculos como diferenças de tempo.
Passo 6: Tratar Valores Nulos
Valores nulos, como em quantidade, podem atrapalhar análises (ex.: cálculo de média). Você pode excluí-los ou preenchê-los.
Código (preenchimento com média):
tabela["quantidade"] = tabela["quantidade"].fillna(tabela["quantidade"].mean())Explicação:
fillna(): Preenche valores nulos.tabela["quantidade"].mean(): Calcula a média da colunaquantidadee a usa para preencher nulos.
Alternativa (excluir linhas com nulos):
tabela = tabela.dropna()Resultado: Valores nulos em quantidade são substituídos pela média (ex.: 13.92), ou a linha inteira é removida.
Passo 7: Padronizar Valores de Texto
Valores de texto inconsistentes (ex.: “SP” e “sp” na coluna uf) podem ser tratados como categorias diferentes pelo Python, distorcendo análises.
Código:
tabela["uf"] = tabela["uf"].str.upper()
tabela["cliente_email"] = tabela["cliente_email"].str.lower()Explicação:
str.upper(): Converte a colunaufpara letras maiúsculas (ex.: “sp” → “SP”).str.lower(): Converte a colunacliente_emailpara letras minúsculas.
Por que fazer isso? Garante consistência, permitindo análises corretas (ex.: média de vendas por estado).
Passo 8: Criar Colunas Auxiliares
Colunas auxiliares, como faturamento, facilitam análises ao calcular métricas derivadas.
Código:
tabela["faturamento"] = tabela["quantidade"] * tabela["preco_unitario"]Explicação: Multiplica quantidade por preco_unitario para criar a coluna faturamento, essencial para análises como faturamento médio por estado.
Resultado: Uma nova coluna faturamento é adicionada, pronta para cálculos adicionais.
Integração com Análise de Correlação
Após o tratamento, você pode identificar correlações entre variáveis numéricas (ex.: quantidade, preco_unitario, faturamento) para evitar redundâncias em análises.
Código:
correlacoes = tabela.corr(numeric_only=True)Visualização com Plotly:
import plotly.express as px
grafico = px.imshow(correlacoes, text_auto=True, color_continuous_scale="Greens")
grafico.show()Explicação:
corr(numeric_only=True): Calcula a matriz de correlação para colunas numéricas.px.imshow(): Gera um gráfico de calor interativo, destacando correlações fortes (ex.: 0,98 entre duas variáveis indica redundância).
Ação: Se duas variáveis (ex.: quantidade e faturamento) tiverem correlação acima de 0,7, remova uma para evitar distorções:
tabela = tabela.drop(columns=["quantidade"])Exportando Resultados para Excel
Para compartilhar os resultados, salve a base tratada e a matriz de correlação em um arquivo Excel:
Código:
with pd.ExcelWriter("dados_tratados.xlsx") as arquivo:
tabela.to_excel(arquivo, sheet_name="Base Tratada", index=False)
correlacoes.to_excel(arquivo, sheet_name="Correlacoes")Explicação:
to_excel(): Exporta o DataFrame para uma aba no Excel.index=False: Exclui o índice numérico do DataFrame (0, 1, 2…) do arquivo.
Resultado: Um arquivo dados_tratados.xlsx com duas abas: “Base Tratada” (dados limpos) e “Correlacoes” (matriz de correlação).
Conclusão e Boas Práticas
Com apenas uma linha de código por passo, você pode transformar uma base de dados bagunçada em um conjunto limpo e pronto para análise. Esses oito passos — importar dados, padronizar colunas, remover duplicatas, excluir colunas vazias, corrigir tipos de dados, tratar nulos, padronizar textos e criar colunas auxiliares — são essenciais para qualquer projeto de análise de dados. Combinados com a análise de correlação e exportação para Excel, eles garantem resultados confiáveis e profissionais.
Boas práticas:
- Sempre verifique a matriz de correlação para evitar variáveis redundantes.
- Execute os passos na ordem apresentada, pois alguns (ex.: tratar tipos de dados) podem gerar novos nulos.
- Automatize o processo com scripts reutilizáveis para bases atualizadas.
- Use ferramentas como Plotly para visualizações interativas e Excel para compartilhar resultados.
Experimente esses passos em seus projetos e eleve suas análises ao próximo nível. Para aprender mais, confira minicursos e projetos completos em plataformas como Kaggle!
Palavras-chave:
- Principal: Tratamento de dados
- Secundárias: Python, Pandas, OpenPyXL, análise de dados, correlação, limpeza de dados, valores nulos, padronização, exportação para Excel, Kaggle
Vantagens do Python na Análise de Dados
- Eficiência: Com menos de 10 linhas de código, você carrega, limpa, analisa e exporta dados.
- Automatização: Scripts podem ser reutilizados para bases atualizadas, economizando tempo.
- Escalabilidade: Python lida com grandes volumes de dados e diferentes formatos (CSV, Excel, SQL, etc.).
- Reconhecimento profissional: Dominar Python e Pandas é uma habilidade valorizada em carreiras de dados, usada por analistas em empresas e competições como Kaggle.
Conclusão
Com Python, Pandas, Plotly e OpenPyXL, você consegue analisar dados de forma prática e clara, evitando erros comuns, como manter variáveis redundantes.
Este processo, combinado com limpeza de dados e exportação para Excel, transforma bases complexas em insights acionáveis em minutos. Seja para prever notas em uma prova ou analisar dados de clientes, Python simplifica e profissionaliza o fluxo de trabalho. Experimente essas técnicas em seus projetos e eleve suas análises ao próximo nível!
Quer aprender mais com guias como esse? Confira os outros artigos de Python no nosso blog!
Caso prefira esse conteúdo no formato de vídeo-aula, assista aos vídeos abaixo ou acesse o nosso canal do YouTube!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.
1. Quais bibliotecas Python usar para análise de dados?
As mais usadas são o Pandas (manipulação de tabelas), o NumPy (cálculos), o Matplotlib e o Plotly (gráficos) e o OpenPyXL (arquivos Excel). Juntas, cobrem desde a importação até a visualização e exportação dos dados.
2. O que é o Pandas no Python?
É a principal biblioteca para análise de dados em Python. Ela trabalha com DataFrames (tabelas) e permite importar, limpar, filtrar, agrupar e calcular estatísticas dos dados com poucas linhas de código.
3. Como começar a analisar dados com Python?
Instale o Pandas, carregue os dados (de um CSV ou Excel) em um DataFrame, explore com comandos como head() e describe(), trate valores ausentes e crie gráficos. A partir daí, dá para aprofundar em estatísticas e visualizações.
4. Python ou Excel para análise de dados?
O Excel é ótimo para análises rápidas e visuais; o Python lida melhor com grandes volumes, tarefas repetitivas e automação. Eles se complementam: muitos profissionais usam o Python para tratar os dados e o Excel para apresentá-los.








