愛伊米

Python + Steamlit 快速開發視覺化 web 頁面!

用Python做web圖形使用者介面,最先想到的是、等框架。然而研究這些對於初學者來講,尤其是沒有web開發基礎的資料分析人員是痛苦的。

幸運的是,Python中也有很多第三方庫來快速進行簡單的web視覺化。

今天再介紹一個 ,可以快速利用

簡單的程式碼

快速佈局自己想要的

web介面

!效果如下

一、安裝與執行

安裝之前,我們需要將 的版本升級到3。7或以上,同時設定好環境變數,這裡預設讀者都已經設定好不細講。

在 或 中都可以使用pip進行安裝

在終端輸出完畢後,可以執行來檢驗,如果出現新的網頁介面,則說明安裝成功。

並且之後利用寫的程式,需要透過執行來實現。

二、常用命令

接下來我們來了解 的一些常用命令。首先引入相關庫

構建 的標識題目,可以利用函式建立一個標題。

儲存這個py檔案,命名為,利用我們第一部分講解如何執行程式碼,在命令視窗輸入。

注意,這裡直接用 是已經調好了環境變數,如果不想調的,開啟 的源程式檔案,將streamlit的exe檔案呼叫即可。

正常執行下會彈出一個 網頁,效果如下

Python + Steamlit 快速開發視覺化 web 頁面!

輸入文字

如果需要輸入文字,可以用函式

構建MLWeb表格

機器學習裡面我們必須要做的是檢視資料的型別,維度等具體特徵。比如我們總是用到,那麼在MLweb裡面怎麼實現?

有幾個方法:,,。

其中是常見的表格函式,被稱為庫的瑞士軍刀,影象、文字、表格都可以用它來實現,至於三者有什麼區別呢?

:互動式表格,不可修改

:靜態表格

:返回一個可以使用和修改的物件,可以向其中新增資料或替換資料。

程式碼如下

效果如圖:

Python + Steamlit 快速開發視覺化 web 頁面!

利用write函式則效果如下

Python + Steamlit 快速開發視覺化 web 頁面!

視覺化

機器學習挖掘資料的過程中視覺化同樣佔據了舉足輕重的地位,這裡我們構使用函式

效果如下:

可以看到,給了我們方便的功能:下載或檢視我們構建的圖片,你甚至可以檢視圖片的原始碼!

地圖

裡面有一個它時常拿來當門面的圖,就是舊金山的地圖,你或許利用Flask在建立地圖,讀取座標點,個性化地圖,顯示在web端這些步驟花費大量時間。

而在這裡,你進需要提供你的座標點構成的資料框,並用函式即可,這裡用廣東廣州的座標點(不太精準哈)來畫圖

程式碼如下:

效果圖如下

實戰

最後我們來實現一個簡單股票查詢系統。基本想法如下

輸入

:使用者寫入股票程式碼,起始時間,結束時間。

輸出

:股票交易資料表,股票ma線視覺化。

首先引入包

接下來設定標題與可寫入文字,這裡的文字是在web端輸入的,用到函式

注意

:這裡的日期時間預設以格式輸入,同時在股票名稱旁邊加入一個輔助幫助說明。

現在進行股票名稱獲取,我們用庫作為股票交易資料獲取,注意需要tushare的pro介面的api才能透過股票程式碼獲取股票公司名稱

接著對股票交易資料顯示,用到函式來讓使用者更直觀的看到獲取的交易資料

最後視覺化ma短線長線

MACD治標是大家常看的指標,那麼我們將ma5和ma10在圖示上顯示,並畫上收盤價,讀者可以自行驗證MACD的黃金或死亡交叉!最終效果見下方影片