Este guia detalhado irá mostrar como criar um dashboard interativo para visualizar dados, utilizando Python e a poderosa biblioteca Streamlit.
Sumário
- Introdução ao Streamlit e Dashboards
- Pré-requisitos e Configuração do Ambiente
- Instalação do Python
- Instalação do Visual Studio Code
- Criação e Ativação de Ambiente Virtual
- O que é um Ambiente Virtual?
- Instalando
virtualenv
- Criando o Ambiente Virtual
- Ativando o Ambiente Virtual
- Instalação do Streamlit
- Desenvolvimento do Dashboard com Streamlit
- Explorando a Documentação do Streamlit
- Criando o Arquivo
app.py
- Importando Bibliotecas Essenciais
- Adicionando um Título ao Dashboard
- Rodando o Primeiro Aplicativo Streamlit
- Carregando Dados Externos (Uber Pickups)
- Entendendo a Função
load_data
- Entendendo a Função
- Exibindo os Dados Brutos
- Visualizando Dados com Gráficos
- Histograma
- Mapa de Corridas com Filtro
- Publicando seu Dashboard (Deploy)
- Configurando o GitHub
- Criando um Novo Repositório
- Subindo o Código para o GitHub
- Publicando no Streamlit Cloud
- Acessando o Streamlit Cloud
- Autorizando o GitHub
- Criando um Novo Aplicativo
- Realizando o Deploy
- Configurando o GitHub
- Conclusão
1. Introdução ao Streamlit e Dashboards
Olá, entusiastas da tecnologia! Este guia, inspirado em um projeto de um cliente, tem como objetivo principal ensinar você a construir um dashboard interativo do zero usando Python e Streamlit. Se você está começando no mundo da programação, análise de dados, ou apenas quer explorar uma ferramenta poderosa para visualização, você está no lugar certo! Streamlit é uma ferramenta de código aberto que permite criar aplicativos web interativos para ciência de dados e machine learning com poucas linhas de Python. Sua simplicidade e rapidez de desenvolvimento a tornam ideal para prototipagem e construção de dashboards em tempo real.
2. Pré-requisitos e Configuração do Ambiente
Antes de mergulharmos na codificação, precisamos preparar o nosso ambiente de desenvolvimento. Este é um passo crucial para garantir que todas as ferramentas e bibliotecas funcionem corretamente.
Instalação do Python
O Python é a linguagem de programação que usaremos para construir nosso dashboard. Se você ainda não o tem instalado, siga estas instruções:
- Microsoft Store: A maneira mais fácil e recomendada para usuários de Windows é através da Microsoft Store. Basta abrir a Store, pesquisar por “Python” e instalar a versão mais recente. Isso geralmente cuida das configurações de PATH automaticamente.
- Site Oficial do Python: Alternativamente, você pode baixar o instalador diretamente do site oficial do Python (https://www.python.org/downloads/). Certifique-se de marcar a opção “Add Python to PATH” durante a instalação.
Instalação do Visual Studio Code
Um bom editor de código é essencial para produtividade. O Visual Studio Code (VS Code) é um dos editores mais populares e robustos, com vasta gama de extensões que facilitam o desenvolvimento em Python.
- Download e Instalação: Baixe e instale o VS Code a partir do site oficial (https://code.visualstudio.com/).
- Extensões Importantes: Após a instalação, abra o VS Code e instale a extensão “Python” da Microsoft. Essa extensão oferece recursos como realce de sintaxe, autocompletar, depuração e integração com ambientes virtuais.
- https://m.media-amazon.com/images/I/41K8hnxKpoL.jpg
Criação e Ativação de Ambiente Virtual
Trabalhar com ambientes virtuais é uma boa prática fundamental no desenvolvimento Python.
O que é um Ambiente Virtual?
Imagine que você está desenvolvendo vários projetos em Python. Cada projeto pode exigir versões diferentes de bibliotecas. Se você instalar todas as bibliotecas globalmente, elas podem entrar em conflito. Um ambiente virtual cria um ambiente isolado para cada projeto, onde você pode instalar as dependências específicas sem afetar outros projetos ou a instalação global do Python. Isso garante que seus projetos sejam leves, performáticos e evitem problemas de compatibilidade.
Instalando virtualenv
- Abra o VS Code: Com o VS Code aberto, arraste a pasta do seu projeto (por exemplo, “dashboard”) para dentro dele.
- Abra o Terminal Integrado: No VS Code, pressione
Ctrl + J
para abrir o terminal integrado. - Instale
virtualenv
: No terminal, digite o seguinte comando e pressione Enter:
pip install virtualenv
Criando o Ambiente Virtual
Agora, vamos criar o ambiente virtual dentro da sua pasta de projeto.
- Crie o Ambiente: No terminal, digite:
virtualenv venv
O nome venv
é uma convenção comum, mas você pode usar outro nome se preferir. Este comando criará uma pasta chamada venv
dentro do seu projeto, contendo todos os arquivos necessários para o ambiente virtual.
Ativando o Ambiente Virtual
Para usar o ambiente virtual, você precisa ativá-lo.
- Ative o Ambiente: No terminal, digite:
- No Windows:
.\\venv\\Scripts\\activate
- No macOS/Linux:
source venv/bin/activate
Após a ativação, você verá (venv)
no início da linha de comando, indicando que o ambiente está ativo.
Instalação do Streamlit
Com o ambiente virtual ativo, podemos instalar o Streamlit.
- Instale Streamlit: No terminal, digite:
pip install streamlit
Este comando instalará a versão mais recente do Streamlit e suas dependências.
3. Desenvolvimento do Dashboard com Streamlit
Agora que nosso ambiente está configurado, podemos começar a construir o dashboard.
Explorando a Documentação do Streamlit
A documentação do Streamlit (https://docs.streamlit.io/) é um recurso valioso, repleto de exemplos e tutoriais. É altamente recomendado que você a explore para entender todo o potencial da ferramenta.
Criando o Arquivo app.py
- Crie
app.py
: No VS Code, na sua pasta de projeto, crie um novo arquivo e nomeie-o comoapp.py
.
Importando Bibliotecas Essenciais
Adicione as seguintes linhas no topo do seu arquivo app.py
:
import streamlit as st
import pandas as pd
import numpy as np
Adicionando um Título ao Dashboard
No app.py
, adicione a seguinte linha:
st.title("Uber Pickups in New York City")
Rodando o Primeiro Aplicativo Streamlit
- Execute o Aplicativo: No terminal, digite:
streamlit run app.py
O Streamlit abrirá seu navegador com o aplicativo em execução.
Carregando Dados Externos (Uber Pickups)
Para tornar o dashboard útil, precisamos carregar dados. Usaremos um conjunto de dados de corridas de Uber.
- Defina a URL e crie a função de carregamento:
DATE_COLUMN = 'date/time'
DATA_URL = ('https://s3-us-west-2.amazonaws.com/'
'streamlit-demo-data/uber-raw-data-sep14.csv.gz')
@st.cache_data
def load_data(nrows):
data = pd.read_csv(DATA_URL, nrows=nrows)
lowercase = lambda x: str(x).lower()
data.rename(lowercase, axis='columns', inplace=True)
data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
return data
- Indique o Carregamento no App:
# Criar um título para o dashboard
st.header("Uber Pickups in New York City")
# Informar o usuário que os dados estão sendo carregados
data_load_state = st.text('Carregando dados...')
# Carregar 10.000 linhas de dados
data = load_data(10000)
# Notificar que o carregamento foi concluído
data_load_state.text("Dados carregados com sucesso! (usando st.cache_data)")
Exibindo os Dados Brutos
Adicione o seguinte código para permitir que o usuário veja a tabela de dados:
if st.checkbox('Mostrar dados brutos'):
st.subheader('Dados brutos')
st.write(data)
Visualizando Dados com Gráficos
Vamos criar visualizações para entender os padrões dos dados.
Histograma de Horas
Um histograma pode nos mostrar a distribuição das corridas ao longo do dia.
st.subheader('Número de corridas por hora')
hist_values = np.histogram(
data[DATE_COLUMN].dt.hour, bins=24, range=(0,24))[0]
st.bar_chart(hist_values)
Mapa de Corridas com Filtro
Vamos criar um mapa interativo que responde a um filtro de hora.
# Slider para o usuário selecionar uma hora
hour_to_filter = st.slider('Hora', 0, 23, 17) # min: 0, max: 23, default: 17
# Filtra os dados com base na hora selecionada
filtered_data = data[data[DATE_COLUMN].dt.hour == hour_to_filter]
# Exibe um subtítulo com a hora selecionada
st.subheader(f'Mapa de todas as corridas às {hour_to_filter}:00')
# Desenha o mapa com os dados filtrados
st.map(filtered_data)
4. Publicando seu Dashboard (Deploy)
Para compartilhar seu dashboard com outras pessoas, vamos publicá-lo usando o Streamlit Cloud e o GitHub.
Configurando o GitHub
Criando um Novo Repositório
- Acesse o GitHub: Vá para https://github.com/.
- Crie um Novo Repositório: Clique em “New repository”.
- Nomeie o Repositório: Dê um nome, por exemplo,
dashboard-streamlit
, e marque-o como “Public”. - Crie o Repositório: Clique em “Create repository”.
Subindo o Código para o GitHub
No terminal do VS Code, execute os seguintes comandos:
# Pare o servidor Streamlit (Ctrl + C)
git init
git add .
git commit -m "Primeiro commit do dashboard"
git remote add origin [URL_DO_SEU_REPOSITORIO]
git push -u origin main
Publicando no Streamlit Cloud
Acessando o Streamlit Cloud
- Acesse o Streamlit Cloud: Vá para https://streamlit.io/cloud e faça login com sua conta do GitHub.
Criando um Novo Aplicativo
- Clique em “New App”.
- Selecione o Repositório que você acabou de criar.
- Configure o Branch (geralmente
main
) e o Main file path (app.py
).
Realizando o Deploy
- Clique em “Deploy!”. O Streamlit Cloud irá construir e publicar seu aplicativo.
- Após alguns minutos, você receberá um link público para seu dashboard.
5. Conclusão
Parabéns! Você construiu e publicou seu próprio dashboard interativo usando Python e Streamlit. Este guia cobriu os passos essenciais para transformar dados em visualizações significativas e disponibilizá-los para o mundo. Continue explorando a documentação do Streamlit e experimente diferentes componentes para aprimorar ainda mais seus projetos.

Streamlit Faça Tudo! Desenvolva Aplicação web, Dashboards, Ciência de Dados e Plotagem de Mapas. : Do Iniciante ao Avançado!
“Streamlit Para Tudo!” é a sua bússola definitiva para navegar pelo universo do Streamlit, desde os primeiros passos até técnicas avançadas. Este guia meticulosamente elaborado é adequado tanto para iniciantes ansiosos por entrar no mundo do desenvolvimento de aplicações web interativas quanto para profissionais experientes em busca de aprofundar suas habilidades em ciência de dados e visualizações complexas.
Deivison Viana, com sua experiência rica e multifacetada, desdobra o Streamlit em capítulos que são verdadeiras joias: aprenda a instalar e configurar, criar dashboards dinâmicos, integrar APIs, e até mesmo a usar websockets para análise de dados em tempo real. Descubra como o Streamlit pode ser aplicado em Recursos Humanos, otimizando processos de avaliação e recrutamento, e mergulhe nas aplicações financeiras, simulando mercados e monitorando portfólios.
Não só isso, mas os profissionais de marketing encontrarão estratégias para aproveitar dados e realizar testes A/B para campanhas mais eficazes. Cada capítulo é reforçado com desafios práticos, incentivando você a aplicar o conhecimento e a construir um portfólio impressionante. Seja você um estudante, um cientista de dados, um desenvolvedor web ou um gestor, “Streamlit Para Tudo!” promete elevar suas habilidades e sua compreensão do Streamlit a novos patamares.