A visualização de dados desempenha um papel fundamental no acompanhamento de indicadores em qualquer empresa. Nesse sentido, a capacidade de interpretar grandes volumes de dados pode determinar o sucesso de decisões estratégicas.
Entre as diversas ferramentas disponíveis para cientistas de dados, engenheiros de dados e analistas de BI, os dashboards emergem como uma solução poderosa e intuitiva para transformar dados brutos em insights visuais compreensíveis.
O Python, uma linguagem de programação versátil e amplamente adotada na comunidade de dados, oferece uma variedade de bibliotecas para a criação de dashboards dinâmicos e interativos. Ferramentas como Matplotlib, Seaborn, Plotly, Dash e Streamlit permitem a construção de interfaces ricas que facilitam a exploração e a comunicação de dados de maneira eficiente e visualmente atraente.
Neste artigo, focaremos em como criar um dashboard em Python, detalhando um passo a passo que abrange desde a configuração do ambiente de desenvolvimento até a implementação das funcionalidades principais do dashboard. Utilizaremos como referência principal o Streamlit, uma biblioteca que vem ganhando destaque por sua simplicidade e eficiência na construção de aplicativos web voltados para dados.
Por que usar Streamlit?
Streamlit é uma biblioteca de Python voltada para a criação rápida e interativa de aplicações web customizadas. Esta ferramenta é especialmente útil para cientistas de dados e engenheiros de machine learning que desejam compartilhar insights de maneira visual e interativa.
A ferramenta é ideal para prototipagem rápida e compartilhamento de modelos e visualizações de dados. Entre suas principais vantagens estão:
- Facilidade de uso: Sintaxe simples e intuitiva.
- Interatividade: Criação de componentes interativos como sliders, gráficos e botões.
- Atualizações em tempo real: As alterações no código são refletidas instantaneamente no navegador.
Instalando o Streamlit
Antes de começar, precisamos instalar o Streamlit. A instalação pode ser feita facilmente via pip:
pip install streamlit
Para verificar se a instalação foi bem-sucedida, execute o comando abaixo:
streamlit hello
Criando o Primeiro Dashboard
Vamos criar um dashboard simples que exibe um gráfico interativo. Para isso, utilizaremos a biblioteca pandas para manipulação de dados e matplotlib para visualização.
Passo 1: Configuração do Ambiente
Primeiramente, vamos importar as bibliotecas necessárias. Crie um arquivo chamado dashboard.py e adicione o seguinte código:
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
st.title(“Dashboard Interativo com Streamlit”)
Passo 2: Carregando Dados
Para este exemplo, utilizaremos um conjunto de dados fictícios. Vamos criar um DataFrame com pandas:
data = {
‘Ano’: [2018, 2019, 2020, 2021, 2022],
‘Vendas’: [100, 150, 200, 250, 300] }
df = pd.DataFrame(data)
Passo 3: Criando Gráficos Interativos
Agora, vamos criar um gráfico de linha para visualizar os dados de vendas ao longo dos anos. Utilizaremos matplotlib para gerar o gráfico:
fig, ax = plt.subplots()
ax.plot(df[‘Ano’], df[‘Vendas’], marker=’o’)
ax.set_title(‘Vendas Anuais’)
ax.set_xlabel(‘Ano’)
ax.set_ylabel(‘Vendas’)
st.pyplot(fig)
Passo 4: Adicionando Interatividade
Vamos adicionar um slider para permitir que o usuário selecione um intervalo de anos a ser exibido no gráfico. Utilizaremos o componente st.slider para isso:
ano_min, ano_max = st.slider('Selecione o intervalo de anos', min_value=2018, max_value=2022, value=(2018, 2022)) df_filtered = df[(df['Ano'] >= ano_min) & (df['Ano'] <= ano_max)] fig, ax = plt.subplots() ax.plot(df_filtered['Ano'], df_filtered['Vendas'], marker='o') ax.set_title('Vendas Anuais') ax.set_xlabel('Ano') ax.set_ylabel('Vendas')
Passo 5: Executando o Dashboard
Para visualizar o dashboard, execute o seguinte comando no terminal:
streamlit run dashboard.py
Isso abrirá uma nova aba no navegador com o seu dashboard interativo.
Adicionando Mais Funcionalidades
Vamos explorar mais algumas funcionalidades do Streamlit, como a inclusão de tabelas, textos e filtros adicionais.
Exibindo Tabelas
Para exibir o DataFrame no dashboard, podemos utilizar o componente st.dataframe:
st.dataframe(df_filtered)
Adicionando Filtros
Podemos adicionar filtros para permitir que o usuário selecione dados específicos. Por exemplo, vamos adicionar um filtro para selecionar o valor mínimo de vendas:
vendas_min = st.slider(‘Selecione o valor mínimo de vendas’, min_value=int(df[‘Vendas’].min()), max_value=int(df[‘Vendas’].max()), value=int(df[‘Vendas’].min()))
df_filtered = df[(df[‘Ano’] >= ano_min) & (df[‘Ano’] <= ano_max) & (df['Vendas'] >= vendas_min)]
fig, ax = plt.subplots()
ax.plot(df_filtered[‘Ano’], df_filtered[‘Vendas’], marker=’o’)
ax.set_title(‘Vendas Anuais’)
ax.set_xlabel(‘Ano’)
ax.set_ylabel(‘Vendas’)
st.pyplot(fig)
st.dataframe(df_filtered)
Adicionando Textos e Descrições
Podemos adicionar textos e descrições para tornar o dashboard mais informativo:
st.write(“””
# Dashboard de Vendas
Este dashboard interativo permite visualizar os dados de vendas anuais.
Use os sliders abaixo para filtrar os dados conforme necessário.
“””)
Adicionando Elementos Interativos Avançados
Streamlit permite a criação de diversos elementos interativos, como caixas de seleção, botões e gráficos interativos com plotly e altair.
Exemplo com Plotly
Vamos utilizar a biblioteca plotly para criar gráficos interativos:
import plotly.express as px
fig = px.line(df_filtered, x=’Ano’, y=’Vendas’, title=’Vendas Anuais’)
st.plotly_chart(fig)
Conclusão
A criação de dashboards em Python utilizando bibliotecas como o Streamlit oferece uma maneira poderosa e acessível de transformar dados complexos em insights visuais. Ao longo deste artigo, exploramos os passos essenciais para desenvolver um dashboard funcional, desde a configuração do ambiente de desenvolvimento até a implementação de interatividades avançadas.
Os dashboards não apenas facilitam a análise e a interpretação dos dados, mas também tornam a comunicação dos resultados mais eficaz e impactante. Utilizando o Streamlit, você pode desenvolver aplicações web interativas com uma curva de aprendizado suave, beneficiando-se da simplicidade e flexibilidade que a biblioteca oferece.
Lembre-se de que a prática e a experimentação são fundamentais para aprimorar suas habilidades na criação de dashboards. Continue explorando novas funcionalidades e ferramentas, mantendo-se atualizado com as melhores práticas da comunidade de dados.
Gostou do artigo? Então deixa um comentário e compartilha nas redes sociais. Quer trocar uma ideia pelo LinkeIN? Me adiciona lá!