- 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 streamlit
Valide 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 np
Defina 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.py
O 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 data
Teste 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 px
Criação de um DataFrame: Utilize
pandas
para 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.py
Explorando 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.