Corosyn Logo

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

Imagem de capa do projeto Dashboard bolsas ofertadas pelo Prouni

Tecnologias

PythonPandasStreamlitPlotlySqlite3

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 textwrap para 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.