Corosyn Logo

Dashboard de missões espaciais

Uma análise descritiva e interativa do histórico global de missões espaciais, cobrindo o período de 1957 a 2022.

Imagem de capa do projeto Dashboard de missões espaciais

Tecnologias

PythonPandasStreamlitPlotlyParquet

Visão Geral

Este projeto apresenta um dashboard interativo para a análise do histórico global de missões espaciais. A plataforma, desenvolvida com Streamlit, transforma um complexo conjunto de dados em visualizações claras e dinâmicas, permitindo que os usuários explorem tendências e insights sobre os lançamentos de foguetes desde o início da era espacial.

Principais Funcionalidades:

  • Análise de lançamentos por ano, década, empresa e país.
  • Visualização geográfica interativa da distribuição de missões.
  • Filtros dinâmicos para explorar o sucesso e o fracasso das missões.
  • Insights sobre os custos e as tecnologias envolvidas.

Desafios Técnicos e Soluções

  • Visualizações Geográficas Interativas: O desafio era exibir a distribuição de lançamentos por país em um mapa global sem a complexidade de manipular coordenadas geográficas ou shapefiles. Solução: Utilizei a função px.choropleth da biblioteca Plotly Express, que abstrai essa complexidade ao aceitar nomes de países diretamente (locationmode='country names'). Isso resultou em um código mais limpo e em uma visualização de dados geoespaciais poderosa e eficiente.
  • Formatação Dinâmica de Dados Monetários: Os custos das missões são valores de grande magnitude e difíceis de interpretar (ex: $50,000,000). Solução: Integrei a biblioteca humanize para converter dinamicamente os valores numéricos em um formato textual (ex: $50 milhões).
  • Agregação de Dados para Análise de Foguetes: Para identificar a principal região de lançamento para cada tipo de foguete, foi necessário realizar uma agregação que encontrasse o valor mais frequente (a moda) dentro de cada grupo. Solução: Apliquei uma função lambda dentro do método agg do Pandas ('RegiaoLancamento': lambda x: x.mode()[0]...). Essa abordagem permitiu resolver o problema de forma elegante e eficiente em uma única linha, tratando também casos onde a moda não existia.

Aprendizados

  • Otimização de Performance com Pandas: Aprofundei meus conhecimentos em otimização ao converter colunas de texto com baixa variedade (como 'País' ou 'Status da Missão') para o tipo category. Essa técnica reduziu significativamente o uso de memória e acelerou o processamento das agregações no dataset.
  • Visualização de Dados Avançada com Plotly: Desenvolvi habilidades em customização detalhada de elementos gráficos, como tooltips, eixos e paletas de cores. O foco foi criar visualizações que não apenas exibem os dados, mas que também contam uma história de forma clara, informativa e esteticamente agradável.
  • Pesquisa e Aplicação de Soluções Técnicas: A necessidade de realizar uma agregação de dados customizada impulsionou uma pesquisa por métodos eficientes no Pandas. O resultado foi o aprendizado e a aplicação bem-sucedida de funções lambda dentro do método agg, demonstrando a habilidade de pesquisar, aprender e implementar soluções eficazes para desafios técnicos específicos.