无论数据科学家还是机器学习工程师,部署数据科学项目都是他们所需要的一项至关重要的能力。传统部署机器学习模型的方法是利用Django、Flask等已经建立好的框架,然而这种方法非常耗时,常常令人望而却步。有没有简单一点的方法呢?
股票web app概述
现在我们要构建一个显示股价与股票成交量的简单web app,会用到Python中的streamlit和yfinance两个库。这个app理论上是要利用yfinance库从雅虎财经调取市场历史数据,然后把数据保存在数据框架中,最后作为streamlit 的输入参数显示出线形图表。
安装必备库
在这篇教程中,我们将用到两个需要安装的Python库,streamlit 和yfinance。通过下面的pip install命令可以轻松地安装streamlit:
- pip install streamlit
同理按照以下命令完成 yfinance的安装:
- pip install yfinance
web app代码
这次构建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)
代码逐行解释
现在,我们来详细看看上面这些代码:
运行web app
代码保存在名为myapp.py的文件之后,启动命令提示符(或者是微软Windows系统里的Power Shell),运行下面的命令:
- streamlit run myapp.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
不久一个网页窗口就会弹出,直接跳去如下所示的http://localhost:8501这个创建好的web app。
股价web app截屏
Bingo!你已经成功用Python创建了自己的第一个web app!
自定义web app
以上是最基本的,如果你想让自定义web app变得更有趣一点呢?
- 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)
让我们花点时间来理解上面的代码:
更新后的web app截屏
成功了!现在这个web app可以自动更新了。构建你的第一个web app,就是这么简单,快去上手操作一下吧!
RPA工具在过去的几年中的使用量激增。今年发生的疫情给组织带来加快实现自动化的...
因不同意进动物园要刷脸,浙江理工大学特聘副教授、浙大法学博士郭兵,将杭州野...
让算法像人一样写作,是人工智能研究实验室OpenAI多年来一直追寻的梦想。其最新...
自动驾驶技术的进展备受社会关注。1月28日,在交通运输部例行新闻发布会上,交通...
1月14日消息,美国专利商标局公布了苹果一项与AR/VR身份认证相关专利,专利中指...
随着 macOS 10.15 和 iOS 13 的临近,苹果已经做好 macOS 和 iOS 前期统合的准备...
随着人工智能技术的成熟以及应用场景的不断丰富,人工智能技术为解决城市公共安...
壳牌公司在2013年首次启动其人工智能卓越中心时,该中心甚至不被称为人工智能中...
在这个全民健身的时代,越来越多的用户开始频繁使用运动APP,记录自己的运动数据...
本文转载自网络,原文链接:https://www.toutiao.com/a6940687009992147492/...