Repositório dedicado ao meu desenvolvimento prático e progressivo em Análise de Dados, aplicando Python em cenários estruturados que simulam desafios reais de negócio.
Este projeto representa minha consolidação prática em Análise de Dados, com foco em aplicação real, organização profissional e construção de soluções orientadas a métricas de negócio.
Este repositório demonstra minha capacidade de:
- ✔ Manipular e transformar grandes volumes de dados com Pandas
- ✔ Aplicar estatística para geração de insights
- ✔ Construir dashboards interativos com Streamlit
- ✔ Estruturar projetos de forma organizada e escalável
- ✔ Comunicar resultados de maneira clara e visual
- ✔ Publicar aplicações em ambiente de produção
Objetivo: Atuar como Analista de Dados Jr, aplicando análise, visualização e pensamento analítico orientado a métricas de negócio.
Ao longo das seções, aplico:
- Análise exploratória de dados (EDA)
- Testes estatísticos (ex: Qui-Quadrado, Correlação)
- Transformação e limpeza de dados
- Construção de métricas estratégicas (KPIs)
- Visualização orientada à tomada de decisão
- Deploy de dashboards com Streamlit Cloud
- Consolidar fundamentos e práticas de Análise de Dados
- Aplicar Pandas em cenários reais e progressivos
- Desenvolver pensamento analítico e estatístico
- Criar dashboards e análises interativas
- Demonstrar evolução técnica de forma clara
- Servir como portfólio técnico para oportunidades em Dados
- Python
- Pandas
- NumPy
- Matplotlib / Seaborn / Plotly
- Streamlit
- SQL / SQLAlchemy
- Jupyter Notebook
- Git & GitHub
✔ Estrutura modular organizada por domínio
✔ Integração entre análise, banco de dados e aplicação
✔ Deploy em ambiente real (Streamlit Cloud)
✔ Implementação de autenticação simulada
✔ Uso de ORM (SQLAlchemy)
✔ CRUD completo em SQLite, PostgreSQL e MongoDB
✔ Separação entre camada de persistência e interface
✔ Commits semânticos e evolução progressiva
analise-dados-python-pandas/
│
├─ seccao-1-pandas-hands-on/
├─ seccao-2-pandas-transformacao/
├─ seccao-3-estatistica-aplicada/
├─ seccao-4-analise-exploratoria/
├─ seccao-5-dataviz-fundamentos/
├─ seccao-6-streamlit-mini-projeto-3/
├─ seccao-7-integracao-banco-dados/
│
├─ .gitignore
├─ requirements.txt
└─ README.md
Nesta seção, foram desenvolvidos exercícios práticos e um mini projeto completo, cobrindo desde os fundamentos até análises interativas com Streamlit.
- Series e DataFrames
- Leitura e escrita de CSV, Excel e JSON
- Análise e exploração de dados
- Filtros, seleções e agregações
- Integração entre múltiplas tabelas
- Métricas e indicadores
- Tabela dinâmica com Pandas
- Aplicações interativas com Streamlit
A Seção 1 culmina em um mini projeto prático, com geração de dados simulados e dashboards interativos.
Nesta seção o foco foi limpeza, padronização e transformação de dados, simulando problemas reais encontrados em bases de dados do dia a dia.
- Normalização de dados semi-estruturados (JSON)
- Conversão e padronização de dados numéricos
- Limpeza e tratamento de dados textuais
- Preparação de dados para análise e modelagem
- Boas práticas de pré-processamento com Pandas
Transformação de estruturas aninhadas em colunas tabulares, facilitando análise e exploração.
Tratamento de valores monetários armazenados como texto, remoção de símbolos e conversão para tipos numéricos adequados.
Remoção de caracteres especiais, padronização de espaços e preparação de campos textuais para análise.
Nesta seção foram abordados os fundamentos estatísticos essenciais para análise de dados, com foco na aplicação prática utilizando Pandas e visualizações básicas.
- Medidas de posição (média, mediana e moda)
- Medidas de dispersão (variância, desvio padrão e coeficiente de variação)
- Medidas de forma (assimetria e curtose)
- Correlação (Pearson e Spearman)
- Visualização estatística com gráficos básicos
Nesta etapa, foi realizada uma análise exploratória com foco em compreender o comportamento dos clientes, identificar padrões relacionados ao churn e preparar os dados para análises futuras.
Testes estatísticos (Qui-Quadrado) foram utilizados para validar a relação entre tipo de contrato e churn, confirmando dependência entre as variáveis.
Nesta seção, o foco foi o aprofundamento em visualização de dados, explorando diferentes bibliotecas e abordagens para comunicar insights de forma clara, interativa e orientada ao negócio.
- Visualização estatística com Seaborn
- Gráficos interativos com Plotly
- Análise de relações entre variáveis (pairplot)
- Distribuição de dados por categoria (violinplot)
- Séries temporais interativas
- Visualização geográfica com Folium
- Integração com datasets reais via URL (USGS)
- Pairplot para análise de correlação entre variáveis numéricas
- Violinplot para comparação de distribuições por categoria
- Gráficos interativos com Plotly, explorando séries temporais e dispersão
Essas visualizações permitem uma análise mais rica e exploratória, facilitando a identificação de padrões e tendências.
Como fechamento da seção, foi desenvolvido um mapa interativo de terremotos utilizando Folium, consumindo dados reais da API pública do USGS (U.S. Geological Survey).
- Leitura direta de dataset CSV via URL
- Filtro de terremotos significativos (magnitude ≥ 6.0)
- Mapa interativo com marcadores georreferenciados
- Informações contextuais via popups
- Exportação do mapa em HTML
A próxima seção está atualmente em desenvolvimento e dará continuidade ao aprofundamento em análise e manipulação de dados.
Aqui está somente a Seção 6, revisada, organizada e pronta para copiar e colar no seu README:
🌐 Seção 6 — Dashboard Profissional com Streamlit (CONCLUÍDA)
Esta seção consolida a construção de um Dashboard completo de Análise de Vendas, integrando análise exploratória, métricas estratégicas, visualização interativa e deploy em ambiente de produção.
O projeto simula um cenário real de negócio, permitindo acompanhamento de desempenho e tomada de decisão orientada por dados.
Para fins de demonstração, o dashboard conta com um sistema simples de autenticação, simulando um ambiente real de aplicação corporativa.
Você pode utilizar uma das credenciais abaixo:
- Login:
admin - Senha:
1234
- Login:
bruno - Senha:
abcd
⚠️ Observação:
Este sistema foi implementado para fins educacionais e de portfólio.
Em um ambiente de produção real, as credenciais seriam armazenadas de forma segura e criptografada.
🔗 Acesse o dashboard publicado:
👉 CLIQUE AQUI PARA ACESSAR O DASHBOARD
O dashboard permite:
- 📈 Analisar receita mensal
- 📦 Visualizar volume de vendas
- 🧮 Monitorar KPIs estratégicos
- 🎛️ Aplicar filtros dinâmicos
- 📂 Explorar o dataset completo
- 📥 Exportar dados em Excel
- 🔐 Acesso com sistema de login
- 📱 Layout responsivo (Desktop e Mobile)
Durante o desenvolvimento desta aplicação, consolidei:
-
Estruturação de projetos modulares em Python
-
Separação entre lógica, visualização e estilização
-
Manipulação eficiente de dados com Pandas
-
Aplicação prática de estatística para geração de métricas
-
Construção de KPIs orientados a negócio
-
Uso de Pathlib para portabilidade
-
Deploy em ambiente real (Streamlit Cloud)
-
Organização de múltiplas páginas no Streamlit
Indicadores calculados dinamicamente:
- Receita Total
- Lucro Total
- Quantidade de Pedidos
- Ticket Médio
Gráfico temporal construído com Plotly, permitindo:
- Visualização da evolução da receita
- Análise sazonal
- Interatividade e zoom
Segmentação dos dados para identificação de padrões e oportunidades.
- Visualização completa dos dados
- Filtros dinâmicos
- Exportação para Excel
- Estrutura organizada para exploração analítica
- Python
- Pandas
- Plotly
- Streamlit
- OpenPyXL
- CSS customizado
- Configuração via
.streamlit/config.toml - Organização modular com múltiplas páginas
seccao-6-dashboard-vendas/
│
├── app.py
├── utils.py
├── styles/
│ ├── global.css
│ ├── layout.css
│ ├── login.css
│ ├── metrics.css
│ ├── tabs.css
│
├── pages/
│ ├── 01_Dashboard.py
│ ├── 02_Dataset.py
│
└── .streamlit/
└── config.toml
- ✔ Layout customizado com CSS externo
- ✔ Organização modular escalável
- ✔ Uso de Pathlib para portabilidade
- ✔ Separação entre lógica, visualização e estilo
- ✔ Estrutura preparada para expansão
- ✔ Deploy em produção
- ✔ Responsividade real
Consolidar:
- Construção de dashboards profissionais
- Integração entre análise e aplicação
- Boas práticas de organização de projeto
- Pensamento orientado a métricas de negócio
Esta seção marca a transição de análises isoladas para aplicações analíticas completas e publicáveis.
Esta seção representa a transição da manipulação de dados em memória para a construção de uma camada estruturada de persistência, integrando bancos relacionais, NoSQL e aplicações reais.
O foco foi compreender, implementar e organizar operações completas de CRUD em diferentes tecnologias, aplicando boas práticas de arquitetura e separação de responsabilidades.
- SQLite
- PostgreSQL
- MongoDB
- SQLAlchemy (ORM)
- Psycopg2
- Streamlit
- Tkinter
- Python
Implementação completa de CRUD com:
- Estrutura inicial de conexão
- Criação de tabela
- Inserção de dados
- Leitura estruturada
- Atualização de registros
- Exclusão de dados
- Refatoração para funções reutilizáveis
- Integração com formulário via Streamlit
Objetivo: consolidar fundamentos de modelagem relacional e persistência local.
Evolução da persistência para ambiente mais próximo de produção:
- Criação de função
get_connectionreutilizável - Uso de
dotenvpara gerenciamento seguro de credenciais - Inserção, leitura, atualização e exclusão de dados
- Retorno estruturado de consultas
- Separação clara entre camada de conexão e regras de negócio
Objetivo: simular cenário real de backend com banco relacional robusto.
Implementação de camada de abstração com:
- Mapeamento objeto-relacional
- Manipulação de dados via modelos Python
- Operações CRUD utilizando ORM
- Comparação prática entre SQL puro e abstração via ORM
Objetivo: compreender quando utilizar SQL direto e quando utilizar abstração orientada a objetos.
Exploração de banco orientado a documentos com:
- Inserção de documentos (
insert_one) - Listagem com cursor (
find) - Atualização parcial com
$set - Exclusão com
delete_one - Manipulação de documentos estruturados
- Diferença prática entre schema fixo e flexível
Objetivo: entender cenários onde NoSQL é mais adequado que modelo relacional.
A persistência foi conectada a aplicações reais:
- Formulário para cadastro
- Listagem dinâmica de registros
- Integração direta com banco
- Interface gráfica para gerenciamento de dados
- Comunicação com camada de persistência
Objetivo: conectar backend de dados com interface de usuário, simulando arquitetura de aplicação real.
- Modelagem relacional
- CRUD completo em múltiplos bancos
- Diferença entre SQL e NoSQL
- ORM vs SQL puro
- Separação de responsabilidades
- Organização modular de projeto
- Persistência estruturada
- Integração entre camada de aplicação e banco
Esta etapa marca a transição de análises isoladas para construção de sistemas com persistência estruturada, aproximando o projeto de um cenário real de backend e engenharia de dados.
A partir desta seção, o projeto evolui de análises isoladas para construção de sistemas com persistência estruturada, aproximando-se de um cenário real de backend e engenharia de dados.

















