如何用 Python 开发数据科学网页应用?
在本文中,我将向您展示如何使用 Python 的 streamlit 库在短短的几行代码中快速构建一个简单的数据驱动的网络应用程序。
作为数据科学家或机器学习工程师,能够部署我们的数据科学项目非常重要。传统机器学习模型的部署方案,通过构建框架(例如 Django 或 Flask),这可能是艰巨和/或耗时的任务。
本文基于我在同一主题(如何在 Python 中构建您的第一个数据科学网络应用程序)中制作的[YouTube 视频]中,您可以在阅读的同时观看它。
//www.youtube.com/watch?v=ZZ4B0QUHuNc
正在构建的股票网络应用程序概述
今天,我们将构建一个显示股票价格和数量的简单网络应用程序。需要使用两个 Python 库,即 streamlit 和 yfinance。从架构上看,该应用程序将通过 yfinance 库从雅虎财经中检索历史市场数据。此数据将保存到数据帧中, streamlit 将使用此数据作为输入参数,将其显示为折线图。
安装必备库
在本教程中,我们将使用两个需要安装的 Python 库。包括 streamlit 和 yfinance。 您可以通过如下的 pip install 命令轻松地执行此操作,以安装 streamlit:
pip install streamlit
并对 yfinance 也执行以下操作:
pip install yfinance
网络应用代码
让我们看一下我们正在构建的网络应用程序的代码。您会发现只有少于 20 行的代码(即,如果不计算注释,则将其缩减为 14 行代码,其中 3 行是出于审美目的的空行)。
代码的逐行说明
让我们花一些时间来理解上面的代码。
- 第 1 和 2 行 导入 yfinance 并为其分配别名 yf,导入 streamlit 并为其分配别名 st。
- 第 4-7 行 使用 st.write()函数打印出文本。这些打印出的文本以 markdown 格式书写。
- 第 9-16 行 使用 yfinance 库从雅虎财经中检索历史市场数据。
- 第 11 行 — 将股票代号定义为 GOOGL。
- 第 13 行 — 使用 yf.Ticker()函数创建 tickerData 变量,该函数顾名思义就是允许访问股票行情数据。应当注意,tickerData 是一个 Ticker 对象,如果我们将 tickerData 作为命令运行,则会得到以下输出 yfinance.Ticker object <GOOGL>。
- 第 15 行 — 创建 tickerDf 数据帧并定义日期范围(从 2010 年 5 月 31 日到 2020 年 5 月 31 日)和时间段(1 天)。
- 第 18-19 行 使用 st.line_chart()函数绘制折线图(使用第 15 行上定义的 tickerDf 数据帧的“收盘价”和“交易量”列中的收盘价)。
运行网络应用
将代码保存到名为 myapp.py 的文件中后,启动命令提示符(或 Microsoft Windows 中的 Power Shell)并运行以下命令:
streamlit run myapp.py
接下来,我们应该看到以下消息:
streamlit run myapp.pyYou can now view your Streamlit app in your browser.Local URL: Network URL: //10.0.0.11:8501
稍后,将弹出一个浏览器窗口,并将您带到 //localhost:8501,定向到创建的 Web 应用程序,如下所示。
股票价格网络应用程序的屏幕截图
恭喜你!您已经用 Python 创建了您的第一个网络应用程序!
自定义网络应用
好的,接下来您可能想给它添加些趣味并自定义网络应用程序。
让我们花一些时间来理解上面的代码。
-
第 6 行 请注意,我们在短语前后使用两个星号将“收盘价”加粗,如下所示:收盘价。 还要注意,通过在单词的前后使用三个星号,使“ volume”一词同时变为粗体和斜体:** volume ***。
-
第 18-20 行和 22-25 行 在这里,我们在收盘价和成交量图之前用 markdown 格式添加标题。
更新后的网络应用程序的屏幕截图
瞧!
现在我们有了一个更新的网络应用程序,该应用程序将在您眼前自动更新。
关于我
我在泰国一个研究型大学做生物信息学和数据挖掘与生物医学信息学副教授的全职工作。在下班后,我是 YouTuber(又名数据教授),负责制作有关数据科学的在线视频。 在我制作的所有教程视频中,我还在 GitHub 上共享 Jupyter 程序脚本(数据教授GitHub页面)。