Streamlit 1
Streamlit?¶
Streamlit 是一個開源的 Python 框架,它旨在為機器學習和資料科學專案提供快速直覺的網頁應用程式開發體驗。它允許使用者僅使用 Python 語法,無需任何網頁開發知識,即可輕鬆建立互動式的數據視覺化儀表板和應用程式。以下是 Streamlit 的一些主要特點:
1. 無需前端開發:Streamlit 避免了傳統網頁開發中前端和後端的分離,使用者只需要用 Python 編寫代碼即可構建應用。
2. 即時編碼:Streamlit 支持熱重載,當你更改代碼後,應用會實時更新,無需重新運行整個程序。
3. 豐富的數據視覺化組件:Streamlit 內置了多種視覺化組件,如圖表、地圖、3D可視化等,並支持導入流行的可視化庫如Matplotlib、Plotly等。
4. 互動式小部件:Streamlit 提供了按鈕、滑塊、文本輸入框等豐富的交互式小部件,用於控制參數和捕獲用戶輸入。
5. 緩存機制:通過使用裝飾器 @st.cache,Streamlit 可以緩存數據和計算,極大提升了應用的性能。
總的來說,Streamlit 的出現大大降低了在 Python 環境中構建交互式數據應用和儀表板的門檻,得資料科學家和機器學習工程師能更輕鬆地將模型和分析結果與他人分享。
安裝指引
https://docs.streamlit.io/get-started/installation
在Anaconda或是終端機上執行以下指令
當你完成含有streamlit語法的.py檔後於終端機使用以下指令執行檔案
https://docs.streamlit.io/get-started/installation/community-cloud
本頁面介紹如何通過 Streamlit Community Cloud 使用 GitHub Codespaces 進行 Streamlit 開發,主要步驟如下:
-
註冊 Streamlit Cloud 帳號
- 前往 share.streamlit.io/signup
- 使用 Google 帳號登入
- 連接 GitHub 帳號並授權 -
在 Community Cloud 上建立新應用並使用 GitHub Codespaces
- 點擊「新應用 > 使用 GitHub Codespaces 建立新應用」
- 授權 Streamlit 存取 GitHub 權限
- 輸入儲存庫名稱,會自動 Fork Streamlit Hello範例至您的 GitHub
- 點擊建立新的 codespace -
在 GitHub Codespaces 中編輯應用
- 等待 Codespace 啟動並自動運行範例應用
- 編輯 Hello.py 檔案內容
- 檔案變更會自動儲存,點擊「Always rerun」使應用即時更新 -
停止或刪除 Codespace
- 前往 github.com/codespaces
- 點擊 Codespace 選單,選擇「Stop codespace」暫停或「Delete」刪除
https://docs.streamlit.io/get-started/fundamentals/main-concepts
這個頁面介紹了 Streamlit 的一些核心概念和用法,主要包括:
-
Streamlit 的開發流程
- 保存源代碼後 Streamlit 會自動檢測變更並要求重新運行應用
- 推薦同時開啟編輯器和瀏覽器,實時查看代碼變更效果 -
數據流
- Streamlit 在需要更新畫面時會從頭到尾重新運行整個腳本
- 可能的重新運行情況:修改源代碼、使用者互動小部件、執行回調函數 -
顯示和樣式化數據
- 使用 st.write() 可渲染多種數據類型
- 使用 st.dataframe() 顯示交互式數據框
- 使用 st.table() 顯示靜態表格
- 使用pandas styler對象高亮顯示數據 -
繪製圖表和地圖
- st.line_chart() 繪製折線圖
- st.map() 在地圖上繪製數據點 -
使用小部件
- st.slider()、st.button()、st.selectbox() 等創建互動小部件
- 小部件使用關鍵字進行狀態跟蹤 -
佈局
- st.sidebar() 添加側邊欄
- st.columns() 並排放置元素
- st.expander() 創建可展開區塊 -
顯示進度
- st.progress() 顯示長時間計算的進度條
Created : 13 novembre 2024