- Data Hackers Newsletter
- Posts
- Streamlit: o que é e como usar a ferramenta para criar apps interativos
Streamlit: o que é e como usar a ferramenta para criar apps interativos
Entenda como instalar o Streamlit e comece a criar visualizações de dados e dashboards com facilidade
Você quer criar aplicativos interativos e visualizações de dados de forma rápida e fácil? Com o Streamlit, uma biblioteca open-source em Python, isso é possível com apenas algumas linhas de código. Ideal para cientistas de dados e engenheiros de Machine Learning, essa ferramenta permite transformar seus scripts em web apps compartilháveis, sem necessidade de experiência prévia em desenvolvimento web.
Neste post, você aprenderá a instalar o Streamlit, criar um app interativo do zero e explorar suas potentes funcionalidades — indo da construção de dashboards dinâmicos à integração com bibliotecas populares como Pandas e Matplotlib.
O que é o Streamlit?
O Streamlit é uma ferramenta projetada para criar aplicativos web de maneira rápida e simples. Ele se destaca pela sua facilidade de uso, permitindo que usuários sem experiência em desenvolvimento web consigam criar aplicativos interativos e visualizações de dados de forma dinâmica. A principal função do Streamlit é transformar scripts de dados em web apps compartilháveis, usando para isso apenas algumas linhas de código.
Com o Streamlit, é possível gerar aplicações de aparência impressionante sem a necessidade de conhecimentos técnicos avançados. O foco do Streamlit é atender às necessidades de profissionais que desejam desenvolver e compartilhar rapidamente suas análises de dados.
Outra grande vantagem do Streamlit é a sua integração com diversas bibliotecas populares do ecossistema Python, como Pandas, NumPy, e Matplotlib, permitindo realizar análises complexas e representar visualmente os dados de forma atrativa.

Construir dashboards dinâmicos está entre as principais funcionalidades do Streamlit
Como instalar o Streamlit?
Para instalar o Streamlit, você tem várias opções, dependendo da sua preferência e do ambiente de desenvolvimento que está utilizando:
Opção 1: Usando a linha de comando
Configure seu ambiente de desenvolvimento Python.
Execute o comando:
pip install streamlitValide a instalação executando o aplicativo de exemplo:
streamlit hello
Opção 2: Usando uma interface gráfica
Se você prefere uma interface gráfica, pode instalar o Streamlit utilizando a Anaconda Distribution, o que pode ser mais simples, especialmente se você estiver no Windows ou não tiver o Python instalado.
Opção 3: Usando um ambiente baseado em nuvem
Utilize o Streamlit Community Cloud com GitHub Codespaces, onde você não precisa se preocupar em instalar o Python e configurar o ambiente.
Opção 4: Ambiente seguro e controlado na nuvem
Você pode usar o Streamlit no Snowflake para desenvolver seus aplicativos na nuvem, ao lado dos seus dados, com controles de acesso baseados em funções.
Escolha a opção que melhor se adeque ao seu cenário!
Como criar e rodar um app Streamlit?
Para criar e rodar uma aplicação Streamlit, siga estas etapas simples:
Crie um novo script Python: Abra seu editor ou IDE favorito e crie um arquivo, como
uber_pickups.py.Adicione as importações necessárias: Insira as linhas essenciais ao seu script:
import streamlit as st import pandas as pd import numpy as npDefina um título para o seu app: Segue um exemplo:
st.title('Uber pickups in NYC')Execute seu app: Para isso, utilize o seguinte comando na linha de comando:
streamlit run uber_pickups.pyO app será iniciado e deve abrir automaticamente em uma nova aba do seu navegador.
Carregue os dados: Escreva uma função para carregar os dados. Use um conjunto de dados, como o da Uber:
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) data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN]) return dataTeste a função de carregamento de dados: Adicione linhas ao seu script para que os dados sejam carregados:
data_load_state = st.text('Loading data...') data = load_data(10000) data_load_state.text('Done! (using st.cache_data)')Adicione funcionalidades interativas. Utilize os widgets do Streamlit, como
st.slider()est.checkbox(), para permitir que os usuários interajam com os dados.
Com esses passos, você terá um app interativo pronto para ser visualizado e utilizado em seu navegador.
O que você pode fazer com Streamlit?
Com o Streamlit, você pode construir e compartilhar rapidamente aplicativos de dados interativos e dashboards. Aqui estão algumas das funcionalidades que você pode explorar:
1. Visualização de dados
O Streamlit se integra a bibliotecas populares de Python, como Pandas, Matplotlib, Seaborn e Plotly, facilitando a exibição e a análise de dados em formatos atraentes.
2. Interatividade
Adicione widgets interativos (inputs, botões e sliders) às suas aplicações, permitindo que os usuários interajam com as análises de forma dinâmica.
3. Desenvolvimento simples
O desenvolvimento se torna descomplicado, com código modularizado e de fácil leitura, permitindo criar aplicativos com pouco esforço.
4. Deploy em nuvem
Permite a implantação em diversas plataformas, como Docker e Kubernetes, além de opções de deploy em serviços como Google Cloud e AWS.
5. Compartilhamento de projetos
Possui uma comunidade ativa onde você pode encontrar inspirações, códigos-fonte e exemplos de projetos que podem ser adaptados.
Como criar visualizações de dados com Streamlit?
Para criar visualizações de dados com Streamlit, siga estas etapas:
Importação das bibliotecas:
import streamlit as st import pandas as pd import plotly.express as pxCriação de um DataFrame: Utilize
pandaspara criar um DataFrame:df = pd.DataFrame({ 'Fruta': ['Maçãs', 'Laranjas', 'Bananas'], 'Quantidade': [10, 20, 30] })Escolha do tipo de gráfico: Algumas opções:
Gráfico de barras:
st.bar_chart(df.set_index('Fruta'))Gráfico de linhas:
st.line_chart(df.set_index('Fruta'))Gráficos interativos com Plotly:
fig = px.bar(df, x='Fruta', y='Quantidade', title='Quantidade de Frutas') st.plotly_chart(fig)
Personalização de gráficos: Customize seus gráficos ajustando cores, títulos e etiquetas:
import matplotlib.pyplot as plt plt.plot(df['Fruta'], df['Quantidade'], color='blue', marker='o') plt.title('Frutas x Quantidade') st.pyplot()Adicionando interatividade: Use widgets para tornar suas visualizações mais interativas, como um slider para selecionar uma quantidade mínima:
quantidade_min = st.slider('Selecione a quantidade mínima:', 0, 50, 10) df_filtered = df[df['Quantidade'] >= quantidade_min] st.bar_chart(df_filtered.set_index('Fruta'))Executando o aplicativo: Salve seu código em um arquivo Python e execute com o comando:
streamlit run app.pyExplorando mais tipos de visualizações: O Streamlit permite criação de tabelas usando
st.dataframe(df)ou gráficos de dispersão e mapas.
Essas etapas oferecem uma base sólida para você começar a explorar visualizações de dados com Streamlit de maneira efetiva e dinâmica.
Conclusão
Neste post, você aprendeu como instalar o Streamlit e criar aplicativos interativos com facilidade, aproveitando suas integrações com bibliotecas populares de Python. Também exploramos como desenvolver visualizações dinâmicas, permitindo que seus dados se tornem mais acessíveis e interessantes para o público.
Agora que você está familiarizado com as funcionalidades do Streamlit, é hora de colocar em prática esse conhecimento e experimentar a criação de seus próprios projetos. O potencial dessa ferramenta é vasto e pode transformar a maneira como você apresenta suas análises de dados.