Migrando dashboards do Excel para o Python

A necessidade de criar dashboards para sumarizar e apresentar dados e análises é rotineira para quem trabalha na área de dados. Também é frequente o uso de ferramentas simples do tipo point & click, como Excel, para produzir dashboards. Algo mais frequente ainda são problemas de reprodutibilidade e automatização que acabam acontecendo com o uso de tais ferramentas.

Neste texto mostramos uma alternativa interessante para usuários de Python. Imagine criar sua dashboard, analisar e apresentar os dados com código de Python usando apenas uma interface, sem copia e cola, sem fórmulas em células aleatórias e sem quebra galhos? A biblioteca Shiny proporciona exatamente isso, permitindo que o usuário desenvolva sua dashboard com códigos simples e com flexibilidade de opções de recursos.

A seguir demonstramos o fluxo de trabalho de usar o Python + Shiny para produzir uma dashboard de exemplo com dados econômicos. Para saber mais veja o curso de Produção de Dashboards Automáticos usando Python.

Passo 01: ambiente de programação

Para este exercício utilizamos o ambiente GitHub Codespaces, que é gratuito para usuários da plataforma (basta cadastrar uma conta, também gratuita). Para acessar este ambiente, primeiro navegue até https://github.com/new e preencha conforme abaixo, mudando o que achar relevante:

  1. Clique em “Create repository” e aguarde a página carregar
  2. Clique em Code
  3. Clique em Codespaces
  4. Clique em Create codespace on main

Aguarde a tela do ambiente de programação carregar (VS Code + Python).

Passo 02: dados de exemplo

Uma vez que o ambiente de programação esteja preparado, vamos prosseguir com a preparação dos dados a serem utilizados na dashboard. Aqui vamos usar dados de inflação brasileira, disponíveis no Banco Central do Brasil. Comece criando um arquivo de script Python na raiz do respositório para coletar, tratar e salvar os dados:

  1. Clique em Explorer
  2. Clique em New File…
  3. Digite etl.py e pressione Enter

No arquivo Python escreva o seu código de preparação de dados (instalando bibliotecas conforme a necessidade), tal como:

Finalize executando o script (Shift + Enter se a extensão Python estiver instalada), que deve salvar um arquivo “dados.csv” com as séries temporais de inflação na raiz do diretório.

Passo 03: biblioteca Shiny

Para começar a criar a dashboard, prossiga instalando e configurando a biblioteca shiny, seguindo a documentação vigente:

  1. Rode o comando pip install shiny no Terminal bash (Ctrl + ’ para habilitar o Terminal)
  2. Crie uma pasta .vscode na raiz do diretório
  3. Crie um arquivo settings.json na pasta criada
  4. Armazene o conteúdo abaixo no arquivo
  1. Clique em Extensions no VS Code
  2. Digite Shiny
  3. Clique em Install na extensão Shiny for Python

Passo 04: interface visual

Para começar a criar a dashboard, vamos definir a interface visual do usuário. Esta interface conterá um título no topo, uma bara lateral de botões na esquerda e uma painel principal de visualizações de dados na direita. Os botões que criamos são um de seleção de variável e outro de filtro de período. Com o Shiny, definimos tudo isso conforme abaixo:

  1. Clique em Explorer
  2. Clique em New File…
  3. Digite app.py e pressione Enter
  4. Digite o código da interface visual, conforme abaixo

Instale todas as bibliotecas que utilizar no código.

Passo 05: lógica de servidor

Para tornar a dashboard utilizável, é necessário inserir visualizações de dados (preferencialmente interativas). No nosso exemplo, vamos criar um gráfico de linha e um de histograma para exibir a variável que o usuário selecionou no botão da interface visual, aplicando o filtro temporal conforme a seleção do usuário no botão. Isso é feito no Shiny através do código de lógica do servidor, conforme abaixo:

Passo 06: visualizar a dashboard

Para verificar visualmente o resultado do código da dashboard, basta clicar no botão superior direito “Run Shiny App”. A pré-visualização será exibida em um painel na tela ou pode ser aberta em uma nova aba no navegador, conforme abaixo:

Com esta dashboard de exemplo, você pode usar a documentação do Shiny para se aprofundar e aperfeiçoar o que achar necessário.

Esta dashboard é bem simples e básica, serve apenas para demonstrar o fluxo de trabalho com o Python + Shiny. Dá para criar dashboards mais completas, complexas e personalizadas. Para saber mais veja o curso de Produção de Dashboards Automáticos usando Python.

Conclusão

Neste exercício mostramos do zero como criar dashboards de análise de dados econômicos usando Python + Shiny. A vantagem destas ferramentas gratuitas é a facilidade de automatização e os ricos recursos disponíveis.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

Deploy de modelos com Python + Shinylive + GitHub gastando ZERO reais

Colocar modelos em produção pode ser um grande desafio. Lidar com custos monetários, infraestrutura operacional e complexidades de códigos e ferramentas pode acabar matando potenciais projetos. Uma solução que elimina todos estes obstáculos é a recém lançada Shinylive. Neste artigo mostramos um exemplo com um modelo de previsão para o preço do petróleo Brent.

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.