在本文中,我将向你展示如何使用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 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行定义CloseVolume 列的收盘价)。

运行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

usagestatsmanager获取正在运行应用_用Python构建数据科学Web应用程序相关推荐

  1. python 搭建web应用程序_用Python构建数据科学Web应用程序

    作者|Chanin Nantasenamat 编译|VK 来源|Towards Data Science 在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动we ...

  2. python打开各种文件格式_使用python读取数据科学最常用的文件格式(转)

    Author:kevinelstri DateTime:2017/3/13 1.什么是文件格式? 文件格式是在文件中存储信息的一种标准方法.首先,文件格式指定文件是一个二进制或ASCII文件.其次,文 ...

  3. python读什么类型文件最快的软件_使用python读取数据科学最常用的文件格式(转)...

    My First Heading My first paragraph.

  4. 用python 入门数据科学_如何高效入门数据科学?

    链接散落的教程文章,做个详细的导读,助你更高效入门数据科学. 问题 2017年6月以来,我陆续在自己的简书专栏<玉树芝兰>里,写了一系列数据科学教程. 这源于一次研究生课编程工作坊尝试.受 ...

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

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

  6. 为什么说Python是数据科学领域的最佳语言?

    人人都说Python好,但Python究竟有多大的魔力能够如此备受欢迎? 近日,TIOBE 最新一期编程语言排行榜新鲜出炉,Python再次位居榜首.作为时下最火的编程语言,Python可以说是应用极 ...

  7. Python的数据科学函数包(三)——matplotlib(plt)

    Matplotlib是Python最著名的2D绘图库 c opencv要比PIL, plt的速度更快一些 matplotlib中一张图的具体构造 如果将Matplotlib绘图和我们平常画画相类比,可 ...

  8. 数据科学r语言_您应该为数据科学学习哪些语言?

    数据科学r语言 Data science is an exciting field to work in, combining advanced statistical and quantitativ ...

  9. 为什么Python在数据科学领域比R更受欢迎呢?

    2020-02-16 12:32:00 全文共2256字,预计学习时长7分钟 来源:aliyun 新入门的数据科学家都面临一个非常重要的问题:我应该学习Python还是R? 这个问题非常重要,因为学习 ...

最新文章

  1. php二维数组按照自定义方式对键值排序,PHP 对一个给定的二维数组按照指定的键值进行排序...
  2. 面试:说说你对 Java 中 final 的理解?
  3. jTemplates 学习使用笔记
  4. OpenCV配置 Win7 Win8 VS2010 VS2012
  5. 学习《apache源代码全景分析》之DSO概念
  6. 洛克人红色思考型机器人叫什么_稻船敬二新企划《红色灰烬》 依然是机器人风格...
  7. 关于未来世界,永生的几个方向和总结思考
  8. Leetcode每日一题:21.merge-two-sorted-lists(合并两个有序链表)
  9. P1160 队列安排 洛谷
  10. 打开struts-config.xml 报错 解决方法Could not open the editor
  11. 机器学习----深刻理解高斯过程回归
  12. 树莓派usb免驱摄像头报错
  13. 天宇优配|医药股反弹受阻 公募乐观态度不改
  14. 关于n维和n-1维欧式空间的理解(转)
  15. 如何通过自我介绍打动面试官?
  16. BZOJ 2563: 阿狸和桃子的游戏
  17. 神通数据库connect by用法
  18. Mac下浏览器安装证书
  19. 关于鼠标右键无法正常加载一直转圈
  20. linux执行rm -rf /*命令后的效果原来是这样

热门文章

  1. Eclipse中使用Ctrl键卡顿响应慢的解决方法
  2. Using rqt_console and roslaunch
  3. 对不队——Alpha冲刺
  4. Java问题解决:Java compiler level does not match the version of the installed Java project facet....
  5. mysql退出当前数据库,再次 show databases
  6. java工程前面有个红色感叹号
  7. C#(WinForm)的Show()和ShowDialog()方法介绍
  8. 深度学习之利用TensorFlow实现简单的卷积神经网络(MNIST数据集)
  9. Tensorflow实战之下载MNIST数据,自动分成train, validation和test三个数据集
  10. linux通过管道的进程通信,linux 线程或进程之间通过管道通信(pipe)