Este guia mostra o passo a passo para configurar e rodar sua primeira aplicação web de dados com Streamlit, utilizando o ambiente de desenvolvimento PyCharm.
Se você ainda não tem, baixe e instale a versão Community (gratuita) do PyCharm diretamente do site da JetBrains. 👉 Download PyCharm
O ideal é criar um ambiente isolado (venv) para cada projeto, evitando conflitos de bibliotecas. O PyCharm facilita muito isso.
- Abra o PyCharm e clique em "New Project".
- Defina o local e o nome do seu projeto (ex:
C:/Projetos/StreamlitSaude). - Na seção "Python Interpreter":
- Verifique se a opção "New environment using" está selecionada.
- O tipo deve ser Virtualenv.
- Clique em "Create".
Com o projeto criado e aberto no PyCharm:
- Abra o Terminal do PyCharm (geralmente fica na barra inferior da tela).
- Certifique-se de que o ambiente virtual está ativo (você deve ver o nome
(.venv)no início da linha do terminal). - Execute o comando
pippara instalar o Streamlit e a biblioteca Pandas (que é essencial para manipular dados):pip install streamlit pandas
Agora que o ambiente está pronto, vamos criar e rodar a aplicação.
- Na árvore de arquivos do seu projeto (à esquerda), clique com o botão direito e selecione "New" > "Python File".
- Dê um nome para o arquivo, por exemplo:
dashboard_saude.py. - Insira o código Streamlit no arquivo (veja os exemplos abaixo).
- Para rodar, volte ao Terminal do PyCharm e execute o comando:
streamlit run dashboard_saude.py
💡 O que acontece agora? O Streamlit iniciará um pequeno servidor web e abrirá automaticamente uma aba no seu navegador no endereço
http://localhost:8501, exibindo sua aplicação. A cada vez que você salvar o arquivo.py, a página no navegador se atualizará automaticamente!
O Streamlit usa a biblioteca Pandas por trás dos panos para manipular os dados. Abaixo estão exemplos de como exibir dados médicos de forma clara.
A função st.table é ideal para exibir pequenos conjuntos de dados de forma simples e direta, sem interatividade.
# dashboard_saude.py
import streamlit as st
import pandas as pd
st.title("👨⚕️ Resumo de Casos Ativos (st.table)")
# Criação de um DataFrame (tabela) de exemplo com dados de saúde
data = {
'ID Paciente': [101, 102, 103, 104],
'Idade': [45, 62, 33, 78],
'Comorbidade': ['Diabetes', 'Hipertensão', 'Nenhuma', 'Cardíaca'],
'Status': ['Estável', 'Monitoramento', 'Estável', 'Crítico']
}
df_resumo = pd.DataFrame(data)
st.header("Casos de Alto Risco em Monitoramento")
# Usamos o Pandas para filtrar os dados antes de exibi-los com o Streamlit
st.table(df_resumo[df_resumo['Status'] != 'Estável'])A função st.dataframe é muito mais poderosa. Ela cria uma tabela interativa que permite ao usuário rolar, ordenar por colunas e até expandir a visualização. É a escolha ideal para datasets maiores.
# Continuação do arquivo: dashboard_saude.py
st.header("💉 Tabela Completa de Resultados de Exames (st.dataframe)")
# Criando um DataFrame maior de exemplo
dados_exames = {
'Nome': ['A. Silva', 'B. Souza', 'C. Costa', 'D. Santos', 'E. Oliveira'],
'Glicose (mg/dL)': [95, 150, 88, 110, 140],
'Colesterol (mg/dL)': [180, 220, 195, 175, 250],
'Hemoglobina (g/dL)': [14.2, 12.5, 15.1, 13.8, 11.9],
'Risco Diabetes': ['Baixo', 'Alto', 'Baixo', 'Médio', 'Alto']
}
df_exames = pd.DataFrame(dados_exames)
# O comando para exibir a tabela interativa é simplesmente este:
st.dataframe(df_exames)O Streamlit possui comandos nativos para criar gráficos de forma muito fácil a partir dos seus dados.
# Continuação do arquivo: dashboard_saude.py
# Adicionando uma visualização simples de dados
st.subheader("Visualização Rápida da Glicose")
# st.line_chart pega o DataFrame e plota um gráfico de linhas automaticamente
# Aqui, definimos 'Nome' como o índice (eixo X) para o gráfico
st.line_chart(df_exames.set_index('Nome')['Glicose (mg/dL)'])