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

2021-01-10 人工智慧遇見磐創

在本文中,我將向你展示如何使用streamlit python庫快速構建一個簡單的數據驅動web應用程式,只需幾行代碼。

作為一名數據科學家或機器學習工程師,能夠部署我們的數據科學項目是很重要的。傳統的使用Django或Flask這樣的框架來部署機器學習模型可能是一項艱巨和/或耗時的任務。

我們正在構建的股票網絡應用程式概述

今天,我們將構建一個簡單的web應用程式來顯示股票價格和成交量。這將需要使用兩個Python庫,即streamlit和yfinance。

從概念上講,該應用程式將從雅虎檢索歷史市場數據,從yfinance庫得到資金信息。此數據保存到dataframe中,streamlit將使用此數據作為輸入參數,以便將其顯示為折線圖。

安裝必備庫

在本教程中,我們將使用兩個需要安裝的Python庫。其中包括streamlit和yfinance。你可以通過下面的pip install命令輕鬆完成此操作,以安裝streamlit:

pip install streamlit對yfinance也執行相同的操作,如下所示:

pip install yfinanceweb應用程式的代碼

讓我們看看我們今天正在構建的web應用程式的代碼。你會發現只有不到20行代碼(也就是說,如果不計算注釋的話,那就把代碼縮減到14行,其中3行是出於美觀目的的空行)。

import yfinance as yfimport streamlit as stst.write("""# 簡單的股票價格AppShown 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 。 第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.pyYou can now view your Streamlit app in your browser.Local URL: http://localhost:8501Network URL: http://10.0.0.11:8501在短時間內,將彈出一個internet瀏覽器窗口,並將你引導到已創建的web應用程式http://localhost:8501,如下所示。

你已經用Python創建了第一個web應用程式!

定製web應用程式

好吧,你可能想定製這個web應用程式的界面,請看如下代碼。

import yfinance as yfimport streamlit as stst.write("""# Simple Stock Price AppShown 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

相關焦點

  • 使用機器學習數據集構建銷售預測Web應用程式
    ,但是關於如何使用這些模型構建實際應用程式的文章很少。因此,今天我們將通過首先使用hackathon中的數據集來訓練視頻遊戲銷售預測模型,然後使用經過訓練的模型來創建一個基本應用程式,根據用戶輸入為我們提供銷售預測來學習此過程。本文分為多個部分,你可以一個接一個地學習,而不必一口氣完成它。從我第一次選擇數據集以來,我花了整整一周的時間來完成應用程式。因此,請花時間專注於學習構建應用程式的各個方面,而不是只注意最終產品。
  • Python 連接開放航空交通數據,輕鬆構建航班跟蹤應用
    現在已有很多航班跟蹤應用,如flightradar24、FlightAware、flightview等,我們能夠通過它們監控飛機在地球上的位置。本文不打算討論這些應用,而是要探討如何用Python製作自己的航班跟蹤應用。之前我發表過兩篇用python跟蹤航班的教程。一篇是使用python創建簡單的航班跟蹤應用,另一篇是使用pandas和bokeh創建航班跟蹤應用。
  • 數據科學的Python軟體包
    Python使用簡單明了的語法來編寫代碼,用Python編寫代碼非常容易,感覺就像您是用英語編寫直接指令一樣。減少編碼數據科學和機器算法非常複雜,因此我們需要一種可以輕鬆實現並減少代碼數量的程式語言。Python帶有平滑且縮進的語法,可幫助開發人員在更少的代碼中構建程序。圖書館開源庫和第三方庫是Python的主要資產。
  • 如何構建一個交互式數據分析 Web 應用?
    作者 | AJ Gordon責編 | Carol頭圖 | CSDN 付費下載於視覺中國本文主要介紹如何利用Python的Streamlit庫和Heroku雲平臺來做一個交互式數據分析Web應用。開發環境如下:Windows10系統Anaconda3(python3.7.4)Git(2.26.0.windows.1)Heroku帳號梯子(Heroku需科學上網才可訪問)Streamlit根據Streamlit官方文檔介紹,它是一個開放原始碼的Python庫,可以輕鬆地為機器學習和數據科學構建漂亮的自定義web應用程式。
  • 數據科學|十大最受歡迎的Python庫
    不僅如此,Python還因為它擁有的動態應用程式集而受歡迎。隨著在人工智慧、機器學習、web開發和桌面應用程式開發等領域的廣泛使用,Python在數據分析市場上佔據了壟斷地位。考慮到Python廣泛的普及和認可,那麼它具有歸因於數據科學的豐富庫也就不足為奇了。科學庫是Python的代名詞! 您只要給它起個名字,就有幾乎所有囊括了所有。
  • 數據科學 | 十大最受歡迎的Python庫
    不僅如此,Python還因為它擁有的動態應用程式集而受歡迎。隨著在人工智慧、機器學習、web開發和桌面應用程式開發等領域的廣泛使用,Python在數據分析市場上佔據了壟斷地位。考慮到Python廣泛的普及和認可,那麼它具有歸因於數據科學的豐富庫也就不足為奇了。科學庫是Python的代名詞! 您只要給它起個名字,就有幾乎所有囊括了所有。
  • 一些冷門但卻非常好用的Python數據科學庫
    它一次又一次地證明了在開發人員職位中和跨行業的數據科學職位中的實用性。整個 Python 及其庫的生態系統使它成為全世界用戶(初學者和高級用戶)的合適選擇。它的成功和流行的原因之一是它強大的第三方庫的集合,這些庫使它可以保持活力和高效。
  • 用Python將Keras深度學習模型部署為Web應用程式
    構建一個很棒的機器學習項目是一回事,但歸根結底,你希望其他人能夠看到你的辛勤工作。當然,你可以將整個項目放在GitHub上,但是怎麼讓你的祖父母也看到呢?我們想要的是將深度學習模型部署為世界上任何人都可以訪問的Web應用程式。在本文中,我們將看到如何編寫一個Web應用程式,該應用程式使用經過訓練的Keras遞歸神經網絡,並允許用戶生成新的專利文摘。
  • 數據科學 | 這十個受歡迎的Python庫值得關注
    今年將大放異彩的數據科學庫。Python被認為是初學者最容易學習的語言。不僅如此,Python還因為它擁有的動態應用程式集而受歡迎。隨著在人工智慧、機器學習、web開發和桌面應用程式開發等領域的廣泛使用,Python在數據分析市場上佔據了壟斷地位。
  • 淺析Python五大領域應用
    Selenium是一個用於web應用程式自動化測試的工具,直接運行在瀏覽器當中,支持chrome、firefox等主流瀏覽器。可以通過代碼控制與頁面上元素進行交互,也可以獲取指定元素的內容。Scrapy是用python實現的一個為了爬取網站數據,提取結構性數據而編寫的應用框架。使用Twisted高效異步網絡框架來處理網絡通信。
  • 用Python將Keras深度學習模型部署為Web應用程式
    https://github.com/WillKoehrsen/recurrent-neural-networks方法目的是使Web應用程式儘快啟動並運行。為此,我選擇了Flask,它允許我們用Python編寫應用程式。
  • 十大最受數據科學歡迎的Python庫
    所以行哥這裡羅列了數據科學最受歡迎的十大Python數據科學庫,看看有幾個是你沒掌握的:NumPyNumPy是一個主要用於數據分析、科學計算和數據科學的Python庫。NumPy主要支持多維數組和矩陣。它是Python中最基礎的數據科學庫之一。
  • 用Python進行Web爬取數據
    介紹我們擁有的數據太少,無法建立機器學習模型。我們需要更多數據!如果這句話聽起來很熟悉,那麼你並不孤單!希望獲得更多數據來訓練我們的機器學習模型是一個一直困擾人們的問題。我們無法在數據科學項目中獲得可以直接使用的Excel或.csv文件,對嗎?那麼,如何應對數據匱乏的問題呢?
  • 用Python進行Web爬取數據
    介紹我們擁有的數據太少,無法建立機器學習模型。我們需要更多數據!如果這句話聽起來很熟悉,那麼你並不孤單!希望獲得更多數據來訓練我們的機器學習模型是一個一直困擾人們的問題。我們無法在數據科學項目中獲得可以直接使用的Excel或.csv文件,對嗎?那麼,如何應對數據匱乏的問題呢?
  • 如何用簡單的Python編寫Web應用程式?
    對數據科學同胞們來說,Web開發只是次要技能,所以更別提嘗試多種途徑做這一件事了,會讓這些人不知所措的。那我們就註定避免不了Web框架的學習之路嗎?還是說大半夜的給開發人員打電話問一些很蠢的問題?於是StreamLit帶著自身的使命出現了,它僅藉助Python就能夠創建Web應用程式。
  • python web 部署的那點事
    開發python web的人都知道,我們python是自帶web模塊的,也就是說我們可以不使用其它任何web伺服器,就可以直接訪問我們的web應用,但是實際生產環境我們很少這麼做,這是為什麼呢?生產環境我們又如何部署我們的python項目呢?
  • 一步步教你開始使用Python開發Web應用
    那麼你準備使用它來做一些web開發,但在探討細節之前,讓我們從頭開始。  學習Python的基礎  截至目前,Python有兩個版本,2.7.5和3.3是目前Python的穩定版本。你選擇哪個學習並不重要,因為區別非常小——尤其對於初學者而言。
  • 數據科學中一些不常用但很有用的Python庫
    導讀提到數據科學的python包,大家想到的估計是numpy,pandas,scikit-learn之類的,這裡給大家介紹一些不常用,但是非常有用的python包,就像是痒痒撓,雖然大部分時間用不上,但是真要用起來,還是挺爽的。
  • 哪個Python框架最適合構建RESTful API?Django還是Flask?
    對於任何初學者來說,python永遠都是他們的首選。 自1991年發布以來,Python已經開發了許多框架和類庫,這些框架和類庫不僅加速了應用程式的開發,而且還提高了科學計算的研發,並且同時增添了許多圖形用戶界面。那麼在眾多python web開發框架中,django和flask絕對是金字塔尖上的兩顆明珠。對於Restful api的設計和開發,這兩個誰更適合一些呢?
  • Python可以應用的地方有哪些
    Python的應用領域 一、人工智慧,包括數據分析、計算機視覺、自然語言處理等等 現在python已經基本成了人工智慧的標準語言了,一般都是C/C++寫個底層運算庫,然後用python做腳本。 二、web開發 python光是web開發的框架至少得有幾十個吧,而且用的人都很多,從後端到前端各種配套服務都非常齊全。