使用 Python 和 Streamlit 创建一个很棒的 Web 应用程序


我们如何制作一个机器学习脚本并将其转换为一个尽可能简单的应用程序,使其基本上感觉像是一个脚本练习?

— Adrien Treuille(Streamlit 的发明者)

  使用 Python 和 Streamlit 创建一个很棒的 Web 应用程序 Luke Chesser在Unsplash上拍摄的照片

Web 应用程序是显示数据科学或机器学习项目结果的好方法。从头开始开发 Web 应用程序需要大量时间、精力和技术技能。另一种构建 Web 应用程序的方法是使用开源 Python 库,例如 Streamlit。

Streamlit 是一个开源 Python 框架,可让您为数据科学和机器学习项目创建漂亮的交互式网站。Streamlit 提供设计和配置网页、访问和显示数据以及生成各种不同类型的图表和图形的功能。您可以在几分钟内构建和部署功能强大的 Web 应用程序。

Streamlit 兼容并集成了许多 Python 库,包括 scikit-learn、Keras、PyTorch、NumPy 和 Pandas。Streamlit 支持显示文本、数据、交互式小部件以及许多图表和图形库,包括 Matplotlib、Vega-Lite 和 Plotly。如果您想了解更深入的信息,请访问此链接。

在本文中,我们将创建一个脚本,该脚本将创建一个网页,包括设计和配置、数据显示和使用图表和图形的可视化。以下步骤将使用 Python 和 Streamlit 框架执行。

1. 安装软件包。

2. 导入库。

3. 导入数据集。

4. 设计和配置网页。

5. 在网页上显示一些数据。

6. 可视化库存数据。

安装软件包

首先我们需要安装 Streamlit 和 Tornado 包来开发和运行我们的应用程序。

!pip 安装 streamlit -q !
 pip 安装龙卷风== 5.1
  • Streamlit 是一个开源 Python 库,可以轻松创建和共享用于机器学习和数据科学的漂亮的自定义 Web 应用程序。
  • Tornado 是一个 Python Web 框架和一个异步网络库,它依赖于非阻塞网络 I/O 来为 Web 应用程序提供服务。

导入库

streamlit导入st
pandas导入pd
numpy导入np
matplotlib.pyplot导入plt
导入日期时间

导入数据集

我们用于此应用程序的数据集来自 Kaggle,可以在这个链接中找到。该数据集包含 Nvidia Corporation 从 1/22/1999 到 11/12/2021 的股票数据。我们将把这个文件下载到我们的本地文件夹中。

我们是在Google的Colab环境下开发的,所以需要将刚刚下载的文件加载到Colab中。

google.colab导入文件
上传=文件上传()

将数据集导入数据框。

df = pd read_csv('NVidia_stock_history.csv')

对于这个项目,我们只会查看过去三年的数据,日期从 01/02/2019 到 11/12/2021。我们将删除 01/01/2019 之前的记录。如果您愿意,可以查看数据集中的所有历史记录或数据的子集。

# 删除日期在 1/1/2019 之前的行。
df['日期'] = pd . to_datetime(df['日期']) 
df = df[ ~ (df['日期'] < '2019-01-01')] 
df . 头()

  使用 Python 和 Streamlit 创建一个很棒的 Web 应用程序

让我们将索引重置为 Date 列。

# 将索引重置为 Date 列。df['日期'] = pd . to_datetime(df['日期'],format = '%Y/%m/%d') df . reset_index(drop =True , inplace =True ) df set_index('日期',就地=真 

设计和配置网页

我们将从在网页上添加标题和徽标开始。

# 指定网页的标题和标志。
set_page_config(page_title = 'Nvidia 股票价格', 
page_icon = 'https://cdn.freebiesupply.com/logos/thumbs/1x/nvidia-logo.png', layout = "wide")

让我们在网页上的个人资料中添加一些社交媒体链接。

# 添加社交媒体标签和网页链接。
""" 
[![星标](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/@dniggl) 
[![关注](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/dennisniggl) 
[![关注](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/DennisNiggl) 

# Nvidia 的股票表现

"""

让我们在网页上添加一个侧边栏,以显示有关该应用程序的一些基本信息。

# 给网页添加侧边栏。
markdown('---') 
# 侧边栏配置
st . 侧边栏图片('https://cdn.freebiesupply.com/logos/thumbs/1x/nvidia-logo.png',宽度= 200)
st 侧边栏markdown('#Nvidia 股票价格分析') 
st . 侧边栏markdown('Nvidia 是人工智能硬件和软件的全球领导者。') 
st . 侧边栏markdown('2019 年至 2021 年的股票数据') 
st . 侧边栏markdown('您可以可视化 Nvidia 在给定时间跨度内的股票价格趋势和模式。') 

st . 侧边栏降价('---')
侧边栏write('由 Dennis Niggl 开发') 
st . 侧边栏write('联系 dniggl@cox.net')

本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;

2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;

3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;

4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;

5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/294448.html

(0)
上一篇 2022年12月2日
下一篇 2022年12月2日

相关推荐

发表回复

登录后才能评论