作者|Chanin Nantasenamat
編譯|VK
來源|Towards Data Science
在本文中,我將向你展示如何使用streamlit python庫快速構建一個簡單的資料驅動web應用程式,只需幾行代碼,
作為一名資料科學家或機器學習工程師,能夠部署我們的資料科學專案是很重要的,傳統的使用Django或Flask這樣的框架來部署機器學習模型可能是一項艱巨和/或耗時的任務,
我們正在構建的股票網路應用程式概述
今天,我們將構建一個簡單的web應用程式來顯示股票價格和成交量,這將需要使用兩個Python庫,即streamlit和yfinance,
從概念上講,該應用程式將從雅虎檢索歷史市場資料,從yfinance庫得到資金資訊,此資料保存到dataframe中,streamlit將使用此資料作為輸入引數,以便將其顯示為折線圖,
安裝必備庫
在本教程中,我們將使用兩個需要安裝的Python庫,其中包括streamlit和yfinance,你可以通過下面的pip install命令輕松完成此操作,以安裝streamlit:
pip install streamlit
對yfinance也執行相同的操作,如下所示:
pip install yfinance
web應用程式的代碼
讓我們看看我們今天正在構建的web應用程式的代碼,你會發現只有不到20行代碼(也就是說,如果不計算注釋的話,那就把代碼縮減到14行,其中3行是出于美觀目的的空行),
import yfinance as yf
import streamlit as st
st.write("""
# 簡單的股票價格App
Shown are the stock closing price and volume of Google!
""")
# https://towardsdatascience.com/how-to-get-stock-data-using-python-c0de1df17e75
# 定義股票代碼
tickerSymbol = 'GOOGL'
# 獲取這個股票的資料
tickerData = https://www.cnblogs.com/panchuangai/p/yf.Ticker(tickerSymbol)
# 為這個股票得到歷史價格
tickerDf = tickerData.history(period='1d', start='2010-5-31', end='2020-5-31')
st.line_chart(tickerDf.Close)
st.line_chart(tickerDf.Volume)
代碼的逐行解釋
讓我們花點時間來理解上面的代碼,
- 1和2行
匯入yfinance并賦其yf的別名,匯入streamlit并賦其st的別名,
- 4-7行
使用st.write()函式列印輸出文本,這些列印出來的文本是用markdown格式寫的,
-
9-16行
使用yfinance庫從雅虎檢索歷史市場資料,
- 第11行-將股票代碼定義為GOOGL,
- 第13行-使用yf.Ticker()函式,顧名思義,允許訪問股票代碼資料,需要注意的是,tickerData是一個tickerData物件,如果我們將tickerData作為一個命令運行,我們將得到以下輸出yfinance.Ticker object
, - 第15行-創建tickerDf資料幀并定義日期范圍(從2010年5月31日到2020年5月31日)和時間段(1天),

- 18-19行
使用st.line_chart()函式繪制折線圖(使用第15行定義Close 和Volume 列的收盤價),
運行web應用程式
將代碼保存到名為我的app.py,啟動命令提示符(或Microsoft Windows中的Power Shell)并運行以下命令:
streamlit run myapp.py
接下來,我們將看到以下訊息:
> streamlit run myapp.py
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8501
Network URL: http://10.0.0.11:8501
在短時間內,將彈出一個internet瀏覽器視窗,并將你引導到已創建的web應用程式http://localhost:8501,如下所示,

你已經用Python創建了第一個web應用程式!
定制web應用程式
好吧,你可能想定制這個web應用程式的界面,請看如下代碼,
import yfinance as yf
import streamlit as st
st.write("""
# Simple Stock Price App
Shown are the stock **closing price** and ***volume*** of Google!
""")
# https://towardsdatascience.com/how-to-get-stock-data-using-python-c0de1df17e75
# 定義股票代碼
tickerSymbol = 'GOOGL'
# 獲取這個股票的資料
tickerData = https://www.cnblogs.com/panchuangai/p/yf.Ticker(tickerSymbol)
# 為這個股票得到歷史價格
tickerDf = tickerData.history(period='1d', start='2010-5-31', end='2020-5-31')
st.write("""
## Closing Price
""")
st.line_chart(tickerDf.Close)
st.write("""
## Volume
""")
讓我們花點時間來理解上面的代碼,
- 第6行
請注意,我們將“closing price”加粗,還請注意,我們通過在單詞前面和后面使用三個星號使單詞“volume”既粗體又斜體,
- 18-20行和22-25行
在這里,我們在收盤價和成交量圖之前添加了一個markdown格式的標題,

現在我們有了一個更新的網路應用程式,
原文鏈接:https://towardsdatascience.com/how-to-build-a-data-science-web-app-in-python-61d1bed65020
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/85179.html
標籤:其他
上一篇:陣列中出現次數超過一半的數字
下一篇:何時使用約束求解而不是機器學習
