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

2020-12-20 人工智慧遇見磐創

在本文中,我將向你展示如何使用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

相關焦點

  • 數據科學的Python軟體包
    Python使用簡單明了的語法來編寫代碼,用Python編寫代碼非常容易,感覺就像您是用英語編寫直接指令一樣。減少編碼數據科學和機器算法非常複雜,因此我們需要一種可以輕鬆實現並減少代碼數量的程式語言。Python帶有平滑且縮進的語法,可幫助開發人員在更少的代碼中構建程序。
  • 鳶尾花預測:如何創建機器學習Web應用程式?
    作為數據科學家或機器學習工程師,能夠部署數據科學項目非常重要,這有助於完成數據科學生命周期。通過既有框架(如Django或Flask)對傳統機器學習模型進行部署,可能是一項艱巨耗時的任務。本文就將展示如何在Python庫中使用streamlit,用不到50行的代碼構建一個簡單的基於機器學習的數據科學web應用程式。
  • 淺析Python五大領域應用
    隨著國家戰略對「新基建」實施提上日程,大數據將會得到進一步推廣和應用。那麼在作為大數據開發語言之一的Python語言,又有哪些用武之地呢,我們可以用一張圖來簡單闡述。Selenium是一個用於web應用程式自動化測試的工具,直接運行在瀏覽器當中,支持chrome、firefox等主流瀏覽器。可以通過代碼控制與頁面上元素進行交互,也可以獲取指定元素的內容。Scrapy是用python實現的一個為了爬取網站數據,提取結構性數據而編寫的應用框架。
  • 用Python將Keras深度學習模型部署為Web應用程式
    構建一個很棒的機器學習項目是一回事,但歸根結底,你希望其他人能夠看到你的辛勤工作。當然,你可以將整個項目放在GitHub上,但是怎麼讓你的祖父母也看到呢?我們想要的是將深度學習模型部署為世界上任何人都可以訪問的Web應用程式。在本文中,我們將看到如何編寫一個Web應用程式,該應用程式使用經過訓練的Keras遞歸神經網絡,並允許用戶生成新的專利文摘。
  • 數據科學 | 十大最受歡迎的Python庫
    不僅如此,Python還因為它擁有的動態應用程式集而受歡迎。隨著在人工智慧、機器學習、web開發和桌面應用程式開發等領域的廣泛使用,Python在數據分析市場上佔據了壟斷地位。考慮到Python廣泛的普及和認可,那麼它具有歸因於數據科學的豐富庫也就不足為奇了。科學庫是Python的代名詞! 您只要給它起個名字,就有幾乎所有囊括了所有。
  • 用Python進行Web爬取數據
    介紹我們擁有的數據太少,無法建立機器學習模型。我們需要更多數據!如果這句話聽起來很熟悉,那麼你並不孤單!希望獲得更多數據來訓練我們的機器學習模型是一個一直困擾人們的問題。我們無法在數據科學項目中獲得可以直接使用的Excel或.csv文件,對嗎?那麼,如何應對數據匱乏的問題呢?
  • 一步步教你開始使用Python開發Web應用
    那麼你準備使用它來做一些web開發,但在探討細節之前,讓我們從頭開始。  學習Python的基礎  截至目前,Python有兩個版本,2.7.5和3.3是目前Python的穩定版本。你選擇哪個學習並不重要,因為區別非常小——尤其對於初學者而言。
  • Python可以應用的地方有哪些
    ,一般都是C/C++寫個底層運算庫,然後用python做腳本。 二、web開發 python光是web開發的框架至少得有幾十個吧,而且用的人都很多,從後端到前端各種配套服務都非常齊全。 三、爬蟲 我估計很多人學爬蟲就是從python入手的 四、各類App的內置腳本 有很多程序裡面的內置腳本就是python,比如sublime text、blender3d,所以從這個角度來看啊,python能幹的事情就無限多了,文本編輯、3d建模、股票投資等等,只有你想不到的,沒有做不到的。
  • 如何用簡單的Python編寫Web應用程式?
    於是StreamLit帶著自身的使命出現了,它僅藉助Python就能夠創建Web應用程式。Python的宗旨:簡單勝於複雜,而Streamlit創建應用程式則完美地詮釋了其易操作性。這篇文將為大家講解何使用Streamlit來創建支持數據科學項目的應用程式。
  • 哪個Python框架最適合構建RESTful API?Django還是Flask?
    對於任何初學者來說,python永遠都是他們的首選。 自1991年發布以來,Python已經開發了許多框架和類庫,這些框架和類庫不僅加速了應用程式的開發,而且還提高了科學計算的研發,並且同時增添了許多圖形用戶界面。那麼在眾多python web開發框架中,django和flask絕對是金字塔尖上的兩顆明珠。
  • 大話python最終篇,web.py 開發的投票程序demo
    概述開發語言 pythonWeb開發框架 web.py前端開發框架 vuejs+elementui資料庫程序url主頁首先進入的是程序首頁也就是index,在index中可以添加一個投票:
  • 3個既簡單又強大的Python Web 框架
    DjangoPython 界最流行的 web 框架。Django是一個高級別的PythonWeb框架,它鼓勵快速開發和乾淨、實用的設計。它是由經驗豐富的開發人員構建的,它處理了Web開發中的許多麻煩,因此您可以專注於編寫應用程式,而無需重新發明方向盤。它是免費的,開源的。Django的設計是為了幫助開發人員儘快將應用程式從概念到完成。
  • 10道題教你使用python Django框架來實現web應用,值得收藏
    升級python版本後,第三方包的版本需要升級。有的第三方包不支持python3。這個時候可以嘗試使用2to3工具對第三包的python原始碼進行轉換,然後使用。這樣存在一定風險。無法轉換的,需要尋找替代包,應用伺服器上對應的代碼需要修改。
  • 用程式語言編寫web爬蟲,不得不提Python的簡單、高效
    比如Apache可以通過mod_wsgi模塊運行Python編寫的Web程序。Python定義了WSGI標準應用接口,協調Http伺服器和基於Python的Web程序之間的通信。一些Web框架,比如Django,TurboGears,Web2py,Zope等。,可以讓程式設計師輕鬆開發和管理複雜的web程序。
  • Python常用庫大全
    pynsist – 一個用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。 構建工具將源碼編譯成軟體。buildout – 一個構建系統,從多個組件來創建,組裝和部署應用。
  • 乾貨:如何正確地學習數據科學中的 python
    資深數據分析師 Manu Jeevan 認為,這是一個巨大的錯誤,因為數據科學家使用 python 來對數據進行檢索、清洗、可視化和構建模型,而不是開發軟體應用程式。實際上,為了完成這些任務,你必須將大部分時間集中在學習 python 中的模塊和庫上。他認為,學習數據科學的正確姿勢應該如下文,雷鋒網 AI 科技評論編譯整理。
  • 那些讓人驚豔的Python庫
    pynsist–一個用來創建Windows安裝程序的工具,可以在安裝程序中打包Python本身。構建工具將源碼編譯成軟體。buildout–一個構建系統,從多個組件來創建,組裝和部署應用。BitBake–針對嵌入式Linux的類似make的構建工具。
  • Python 資源大全中文版
    官網pynsist:一個用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。官網構建工具將源碼編譯成軟體。buildout:一個構建系統,從多個組件來創建,組裝和部署應用。官網BitBake:針對嵌入式 Linux 的類似 make 的構建工具。
  • python基礎知識科普:python的起源和發展史以及應用場景
    它是用C語言實現的,並能夠調用C語言的庫文件。從一出生,Python已經具有了 :類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊為基礎的拓展系統。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在「面向對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。
  • python語言在全球廣泛應用
    比如說同樣是logistic回歸,這麼多基礎的框架,如果用python來實現,你還得去看一堆代碼,然後再自己手寫一遍代碼。那麼在日常的實際工作中,到底需要哪些簡單的工具和代碼來解決實際的問題呢?下面就跟大家一起詳細聊聊,如何搭建一個實用的python編程環境,做到從零開始從linux到jupyternotebook來進行機器學習項目的學習。一、python初步了解先來談談python吧。