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:

Codigo
pip install pandas plotly openpyxl

Agora crie seu arquivo .py e importe as bibliotecas nele:

Python
import pandas as pd
import plotly.express as px

Explicaçã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:

Codigo
tabela = pd.read_csv("dados_transacoes.csv")

Gere uma tabela para visualizar as primeiras linhas (head) e confirmar que os dados foram carregados corretamente:

Python
print(tabela.head())

3. Limpando a Base de Dados

Antes de analisar, é essencial tratar problemas como duplicatas e valores vazios:

Python
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:

Python
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:

Python
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:

Python
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:

Python
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:

Python
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:

Python
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.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

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:

Codigo
pip install pandas openpyxl

No script Python, importe o Pandas:

Python
import pandas as pd

Passo 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:

Codigo
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:

Codigo
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:

Codigo
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:

Codigo
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):

Codigo
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:

Codigo
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:

Codigo
print(tabela.info())

Se a coluna data_venda for reconhecida como object (texto) em vez de datetime, converta-a:

Código:

Codigo
tabela["data_venda"] = pd.to_datetime(tabela["data_venda"], errors="coerce")

Explicação:

  • pd.to_datetime(): Converte a coluna para o formato datetime.
  • 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):

Codigo
tabela["quantidade"] = tabela["quantidade"].fillna(tabela["quantidade"].mean())

Explicação:

  • fillna(): Preenche valores nulos.
  • tabela["quantidade"].mean(): Calcula a média da coluna quantidade e a usa para preencher nulos.

Alternativa (excluir linhas com nulos):

Codigo
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:

Codigo
tabela["uf"] = tabela["uf"].str.upper()
tabela["cliente_email"] = tabela["cliente_email"].str.lower()

Explicação:

  • str.upper(): Converte a coluna uf para letras maiúsculas (ex.: “sp” → “SP”).
  • str.lower(): Converte a coluna cliente_email para 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:

Codigo
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:

Codigo
correlacoes = tabela.corr(numeric_only=True)

Visualização com Plotly:

Python
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:

Codigo
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:

Codigo
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!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos

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.