python 搭建web应用程序_用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 。
第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.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格式的标题。
现在我们有了一个更新的网络应用程序。
python 搭建web应用程序_用Python构建数据科学Web应用程序相关推荐
- usagestatsmanager获取正在运行应用_用Python构建数据科学Web应用程序
在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动web应用程序,只需几行代码. 作为一名数据科学家或机器学习工程师,能够部署我们的数据科学项目是很重要的.传统 ...
- python搭建分布式集群_利用python的dask搭建分布式集群
一.dask介绍 优势:dask内部自动实现了分布式调度.无需用户自行编写复杂的调度逻辑和程序:通过调用简单的方法就可以进行分布式计算.并支持部分模型的并行化处理:内部实现的分布式算法:xgboost ...
- 白裤子变粉裤子怎么办_使用裤子构建构建数据科学的monorepo
白裤子变粉裤子怎么办 At HousingAnywhere, one of the first major obstacles we had to face when scaling the Data ...
- 用python写投票程序_大话python最终篇,web.py 开发的投票程序demo
概述 开发语言 python Web开发框架 web.py 前端开发框架 vuejs+elementui 数据库 mysql 设计思路 首先是数据库设计 ...
- python怎么做软件程序_看 Python 超级程序员使用什么开发工具
Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...
- python web开发前景_【python web开发工程师就业前景怎么样|做python web开发工程师有前途吗】-看准网...
python web开发工程师就业前景分析 这个数据对你 有帮助吗? 数据详情 该职位2016年3月招聘需求230个,涨幅0% 数据说明 图表中根据地区企业近一年发布的职位招聘信息统计所得,纵轴为职位 ...
- python 入门程序_非Python程序员的Python速成课程-如何快速入门
python 入门程序 This article is for people who already have experience in programming and want to learn ...
- mac python运行按哪个键_#mac python如何使用教程#怎么在mac终端运行python程序
mac如何投屏手机 1.首先,解iPhone,然后用手指从下往上,打开控心,在其中就可以找到AirPlay了屏幕镜像. 2.接来下就来教大家如何使用AirPlay吧,首先将手机和电脑连接在同一WiFi ...
- python websocket库有什么_常用Python爬虫与Web开发库有哪些?
Python爬虫和Web开发均是与网页相关的知识技能,无论是自己搭建的网站还是爬虫爬去别人的网站,都离不开相应的Python库,以下是常用的Python爬虫与Web开发库. **1.爬虫库** bea ...
最新文章
- 网络编程学习笔记(recvfrom很奇怪的一个地方)
- mysql 备份库的shell_MySQL数据库的shell脚本自动备份
- 关于64位Linux编译hadoop2
- sqoop2安装详细过程[截图说明]
- 梳子刻字刻什么好_石阶上被刻了1700多个汉字,网友狂赞!
- Cglib 如何实现多重代理?
- 7.4 倒向随机微分方程-Feynman-Kac公式
- 唯一解的数独题目生成器——理解回溯法
- 数学建模-lingo使用
- Android破解——支付宝内购破解方法总结
- type="button" ,"submit" 的区别
- 巨噬细胞膜包裹PLGA纳米粒HCPT-MCNP/MCF-7细胞膜包覆PLGA纳米球共载姜黄素和二氢卟吩e6的研究
- 关于WIN7输入法的小问题
- 计算机进入桌面黑屏怎么办,老司机教你电脑进入系统后黑屏怎么办
- 趣图:苦逼的后端工程师
- 基于WEB的小型酒店管理系统的设计与实现
- 影之诗闪卡动图_影之诗怎么制作闪卡_闪卡的制作方法_软吧
- 030 《白话大数据与机器学习》读后感
- 尚医通 (一)项目介绍
- 商业数据分析模型及其核心Python代码_持续更新