用Python構建數據科學Web應用程序

作者|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 = 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 <GOOGL>。
    • 第15行-創建tickerDf數據幀並定義日期範圍(從2010年5月31日到2020年5月31日)和時間段(1天)。
  • 18-19行

使用st.line_chart()函數繪製折線圖(使用第15行定義CloseVolume 列的收盤價)。

運行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 = 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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章