Dashboard bolsas ofertadas pelo Prouni
Projeto de visualização de dados do Prouni, desde a limpeza de uma base de dados bruta até a criação de um dashboard interativo para análise

Tecnologias
Links
Visão Geral
Este projeto é um estudo de caso completo sobre a análise de dados do Prouni.
Partindo de uma base de dados bruta (prouni.sqlite), foi executado um rigoroso processo de engenharia de dados
para gerar uma base limpa e confiável (clean_prouni.sqlite). O resultado final é um dashboard interativo, desenvolvido com Streamlit,
que traduz dados complexos em visualizações claras e permite uma análise aprofundada sobre o programa.
Desafios Técnicos
O desenvolvimento enfrentou diversos desafios que foram cruciais para o sucesso do projeto:
- Limpeza e Tratamento de Dados: Superar a baixa qualidade dos dados originais, que continham valores nulos, tipos de dados incorretos e falta de padronização textual, exigindo a criação de scripts de transformação.
- Refatoração de Código: Modularizar uma aplicação Streamlit inicialmente monolítica em componentes reutilizáveis (
sidebar,charts, etc.), melhorando drasticamente a legibilidade, manutenção e escalabilidade do código. - Customização de Gráficos: Dominar a complexa API da biblioteca Plotly para criar visualizações de dados altamente customizadas, interativas e alinhadas aos objetivos específicos de análise do projeto.
- Análise Exploratória: Definir as métricas e visualizações mais relevantes a partir de uma exploração aprofundada dos dados em Jupyter Notebooks, garantindo que o dashboard contasse uma "história" coesa e baseada em insights verificáveis.
- Compatibilidade de Bibliotecas: A biblioteca
locale, utilizada inicialmente para a formatação de valores monetários, provou-se incompatível com o ambiente de nuvem do Streamlit. Foi necessário desenvolver uma função customizada para formatar os valores sem essa dependência, garantindo que a aplicação funcionasse corretamente no deploy. - Responsividade dos Gráficos: Rótulos de texto muito longos nos gráficos de ranking quebravam o layout visual. Após pesquisa, a solução foi implementar a biblioteca
textwrappara quebrar as linhas dos rótulos automaticamente, ajustando o texto de forma dinâmica e garantindo a legibilidade em diferentes visualizações.
Aprendizados
- Pandas: Aplicação de técnicas avançadas de limpeza e transformação de dados (data wrangling) para garantir a qualidade e a confiabilidade da análise.
- Streamlit: Estruturação de aplicações web de forma modular e componentizada, melhorando a organização, a reutilização de código e a manutenção do projeto.
- Plotly: Customização detalhada de elementos gráficos (tooltips, eixos, cores) para criar visualizações mais eficazes, informativas e esteticamente agradáveis.
- Jupyter Notebooks: Utilização como ferramenta essencial para a Análise Exploratória de Dados (AED), permitindo a rápida iteração e a validação de hipóteses antes do desenvolvimento do dashboard final.
- Adaptação para Ambientes de Produção: Compreensão da importância de verificar a compatibilidade de bibliotecas com o ambiente de deploy (ex: Streamlit Cloud) e a habilidade de criar soluções alternativas para funcionalidades não suportadas.
- Textwrap: Uso da biblioteca padrão do Python para manipulação de strings e quebra de linha automática em textos longos, garantindo a legibilidade e a responsividade dos rótulos nos gráficos.