作者|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应用程序相关推荐

  1. usagestatsmanager获取正在运行应用_用Python构建数据科学Web应用程序

    在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动web应用程序,只需几行代码. 作为一名数据科学家或机器学习工程师,能够部署我们的数据科学项目是很重要的.传统 ...

  2. python搭建分布式集群_利用python的dask搭建分布式集群

    一.dask介绍 优势:dask内部自动实现了分布式调度.无需用户自行编写复杂的调度逻辑和程序:通过调用简单的方法就可以进行分布式计算.并支持部分模型的并行化处理:内部实现的分布式算法:xgboost ...

  3. 白裤子变粉裤子怎么办_使用裤子构建构建数据科学的monorepo

    白裤子变粉裤子怎么办 At HousingAnywhere, one of the first major obstacles we had to face when scaling the Data ...

  4. 用python写投票程序_大话python最终篇,web.py 开发的投票程序demo

    概述 开发语言         python Web开发框架  web.py 前端开发框架   vuejs+elementui 数据库              mysql 设计思路 首先是数据库设计 ...

  5. python怎么做软件程序_看 Python 超级程序员使用什么开发工具

    Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...

  6. python web开发前景_【python web开发工程师就业前景怎么样|做python web开发工程师有前途吗】-看准网...

    python web开发工程师就业前景分析 这个数据对你 有帮助吗? 数据详情 该职位2016年3月招聘需求230个,涨幅0% 数据说明 图表中根据地区企业近一年发布的职位招聘信息统计所得,纵轴为职位 ...

  7. python 入门程序_非Python程序员的Python速成课程-如何快速入门

    python 入门程序 This article is for people who already have experience in programming and want to learn ...

  8. mac python运行按哪个键_#mac python如何使用教程#怎么在mac终端运行python程序

    mac如何投屏手机 1.首先,解iPhone,然后用手指从下往上,打开控心,在其中就可以找到AirPlay了屏幕镜像. 2.接来下就来教大家如何使用AirPlay吧,首先将手机和电脑连接在同一WiFi ...

  9. python websocket库有什么_常用Python爬虫与Web开发库有哪些?

    Python爬虫和Web开发均是与网页相关的知识技能,无论是自己搭建的网站还是爬虫爬去别人的网站,都离不开相应的Python库,以下是常用的Python爬虫与Web开发库. **1.爬虫库** bea ...

最新文章

  1. 网络编程学习笔记(recvfrom很奇怪的一个地方)
  2. mysql 备份库的shell_MySQL数据库的shell脚本自动备份
  3. 关于64位Linux编译hadoop2
  4. sqoop2安装详细过程[截图说明]
  5. 梳子刻字刻什么好_石阶上被刻了1700多个汉字,网友狂赞!
  6. Cglib 如何实现多重代理?
  7. 7.4 倒向随机微分方程-Feynman-Kac公式
  8. 唯一解的数独题目生成器——理解回溯法
  9. 数学建模-lingo使用
  10. Android破解——支付宝内购破解方法总结
  11. type="button" ,"submit" 的区别
  12. 巨噬细胞膜包裹PLGA纳米粒HCPT-MCNP/MCF-7细胞膜包覆PLGA纳米球共载姜黄素和二氢卟吩e6的研究
  13. 关于WIN7输入法的小问题
  14. 计算机进入桌面黑屏怎么办,老司机教你电脑进入系统后黑屏怎么办
  15. 趣图:苦逼的后端工程师
  16. 基于WEB的小型酒店管理系统的设计与实现
  17. 影之诗闪卡动图_影之诗怎么制作闪卡_闪卡的制作方法_软吧
  18. 030 《白话大数据与机器学习》读后感
  19. 尚医通 (一)项目介绍
  20. 商业数据分析模型及其核心Python代码_持续更新

热门文章

  1. apache在win2003下的安全设置
  2. manven需要注意点几点
  3. 新手看看如何发布一个网站
  4. 关于Adapter对数据库的查询、删除操作
  5. 【转】Oracle Outline使用方法及注意事项
  6. Lift当中的AnyVarTrati源码解析
  7. 打开CMDLINE中的 ” earlyprink “ 参数
  8. Android下NDK开发环境搭建
  9. CE5.0 - eboot汇编Startup.s中MMU设置流程详细分析
  10. (转)ubuntu 文件系统