中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

2021-02-12    分類: 網(wǎng)站建設(shè)

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

圖源:pixabay

無(wú)論數(shù)據(jù)科學(xué)家還是機(jī)器學(xué)習(xí)工程師,部署數(shù)據(jù)科學(xué)項(xiàng)目都是他們所需要的一項(xiàng)至關(guān)重要的能力。傳統(tǒng)部署機(jī)器學(xué)習(xí)模型的方法是利用Django、Flask等已經(jīng)建立好的框架,然而這種方法非常耗時(shí),常常令人望而卻步。有沒(méi)有簡(jiǎn)單一點(diǎn)的方法呢?

本文是基于筆者在YouTubevideo上發(fā)布的同名視頻創(chuàng)作的,二者搭配食用效果更佳。

股票web app概述

現(xiàn)在我們要構(gòu)建一個(gè)顯示股價(jià)與股票成交量的簡(jiǎn)單web app,會(huì)用到Python中的streamlit和yfinance兩個(gè)庫(kù)。這個(gè)app理論上是要利用yfinance庫(kù)從雅虎財(cái)經(jīng)調(diào)取市場(chǎng)歷史數(shù)據(jù),然后把數(shù)據(jù)保存在數(shù)據(jù)框架中,最后作為streamlit 的輸入?yún)?shù)顯示出線形圖表。

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

圖源:unsplash

安裝必備庫(kù)

在這篇教程中,我們將用到兩個(gè)需要安裝的Python庫(kù),streamlit 和yfinance。通過(guò)下面的pip install命令可以輕松地安裝streamlit:

pip install streamlit

同理按照以下命令完成 yfinance的安裝:

pip install yfinance

web app代碼

這次構(gòu)建web app的代碼一共不到20行,如果不算注釋的話代碼只有14行。

import yfinance as yf import streamlit as st
 
 st.write(""" # Simple StockPrice App Shown are the stockclosing price and volume of Google! """) # https://towardsdatascience.com/how-to-get-stock-data-using-python-c0de1df17e75 #define the tickersymbol tickerSymbol ='GOOGL' #get data on thisticker tickerData = yf.Ticker(tickerSymbol) #get the historicalprices for this ticker tickerDf = tickerData.history(period='1d', start='2010-5-31', end='2020-5-31') # Open HighLowClose Volume Dividends StockSplits st.line_chart(tickerDf.Close) st.line_chart(tickerDf.Volume)

代碼逐行解釋

現(xiàn)在,我們來(lái)詳細(xì)看看上面這些代碼:

· 第一行和第二行——輸入yfinance,命名為yf同時(shí)輸入streamlit,命名為st。

· 四至七行——用 st.write() 函數(shù)輸出文本內(nèi)容,輸出文本為markdown格式。

· 九至十六行——用yfinance庫(kù)從雅虎財(cái)經(jīng)中調(diào)取市場(chǎng)歷史數(shù)據(jù)。

· 十一行——定義股票代碼為 GOOGL。

· 十三行——用yf.Ticker()函數(shù)創(chuàng)建tickerData變量,顧名思義該變量為股票代碼數(shù)據(jù)。需要注意的是tickerData是一個(gè)股票代碼對(duì)象,如果把tickerData當(dāng)作命令運(yùn)行可以得到這樣的輸出 yfinance.Ticker object <GOOGL>。

· 十五行——?jiǎng)?chuàng)建tickerDf 數(shù)據(jù)框架,定義日期范圍(從2010年5月31日到2020年5月31日)以及時(shí)段(1天)。

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了


· 十八行到十九行——用st.line_chart()函數(shù)畫(huà)出線性圖表(收盤價(jià)格數(shù)據(jù)來(lái)自十五行代碼中定義的tickerDf數(shù)據(jù)框架中的收盤與成交量數(shù)據(jù))。

運(yùn)行web app

代碼保存在名為myapp.py的文件之后,啟動(dòng)命令提示符(或者是微軟Windows系統(tǒng)里的Power Shell),運(yùn)行下面的命令:

.py

然后可以看到以下信息:

> streamlit run myapp.pyYou can now view your Streamlit app in yourbrowser.Local URL: http://localhost:8501 Network URL: http://10.0.0.11:8501

不久一個(gè)網(wǎng)頁(yè)窗口就會(huì)彈出,直接跳去如下所示的http://localhost:8501這個(gè)創(chuàng)建好的web app。

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

股價(jià)web app截屏

Bingo!你已經(jīng)成功用Python創(chuàng)建了自己的第一個(gè)web app!

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

圖源:unsplash

自定義web app

以上是最基本的,如果你想讓自定義web app變得更有趣一點(diǎn)呢?

import yfinance as yf
 import streamlit as st
 
 st.write(""" # Simple StockPrice App Shown are the stock**closing price** and ***volume*** of Google! """)
 
 #https://towardsdatascience.com/how-to-get-stock-data-using-python-c0de1df17e75
 #define the tickersymbol
 tickerSymbol ='GOOGL' #get data on thisticker
 tickerData = yf.Ticker(tickerSymbol)
 #get the historicalprices for this ticker
 tickerDf = tickerData.history(period='1d', start='2010-5-31', end='2020-5-31')
 # Open HighLowClose Volume Dividends StockSplits
 
 st.write(""" ## Closing Price """)
 st.line_chart(tickerDf.Close)
 st.write(""" ## Volume """)
 st.line_chart(tickerDf.Volume)

讓我們花點(diǎn)時(shí)間來(lái)理解上面的代碼:

· 第六行——注意這里需在“closing price” 前后各用兩個(gè)星號(hào)來(lái)加粗“closing price” ,如下所示:**closingprice**。還要注意“volume”斜體加粗,前后各用三個(gè)星號(hào),如下所示:***volume***。

· 十八至二十行和二十二至二十五行——在收盤價(jià)格和成交量圖表上方加入一個(gè)markdown格式的標(biāo)題。

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

更新后的web app截屏

成功了!現(xiàn)在這個(gè)web app可以自動(dòng)更新了。構(gòu)建你的第一個(gè)web app,就是這么簡(jiǎn)單,快去上手操作一下吧!

寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了

本文標(biāo)題:寫(xiě)出你的第一個(gè)web app,幾行代碼就夠了
網(wǎng)址分享:http://m.rwnh.cn/news10/100610.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、網(wǎng)站排名、域名注冊(cè)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
丹寨县| 资源县| 新晃| 邛崃市| 浠水县| 衡水市| 遂溪县| 奉化市| 嘉鱼县| 灵武市| 太湖县| 泰和县| 鸡泽县| 东港市| 浮山县| 灵丘县| 永吉县| 容城县| 慈溪市| 花垣县| 新干县| 故城县| 岑溪市| 营山县| 铜山县| 多伦县| 科技| 陵水| 镇原县| 额济纳旗| 板桥市| 比如县| 卢湾区| 青冈县| 莒南县| 宁强县| 安福县| 松潘县| 德阳市| 奉贤区| 城固县|