- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
尽管Streamlit的使用非常直观,但正确的环境配置对于充分发挥其潜力仍然至关重要.
本篇将介绍如何从头开始配置Streamlit环境,以及Streamlit开发过程中常用的几个命令.
最后通过一个简单的示例演示开发Streamlit应用的过程.
Streamlit是纯Python的框架,只依赖Python环境, 。
目前最新的Streamlit v1.39版本,需要Python3.8及以上的版本.
Streamlit已经发布到pypi,使用pip安装非常简单.
pip install streamlit
安装完成后,验证是否安装成功使用下面的命令:
streamlit hello
这个Streamlit中自带的示例工程,如果安装成功,执行之后会自动打开浏览器, 。
在http://localhost:8501/显示示例工程.
一共有4个Demo,可以从左半边的菜单中点开感受下Streamlit的魅力.
Streamlit子命令不多,通过--help参数可以查看.
$ streamlit --help
Usage: streamlit [OPTIONS] COMMAND [ARGS]...
Try out a demo with:
$ streamlit hello
Or use the line below to run your own script:
$ streamlit run your_script.py
Options:
--log_level [error|warning|info|debug]
--version Show the version and exit.
--help Show this message and exit.
Commands:
activate Activate Streamlit by entering your email.
cache Manage the Streamlit cache.
config Manage Streamlit's config settings.
docs Show help in browser.
hello Runs the Hello World script.
help Print this help message.
run Run a Python script, piping stderr to Streamlit.
version Print Streamlit's version number.
最常用的是run子命令,这是用来执行Streamlit App的,run子命令本身也有很多的参数, 。
比如,App的IP地址,端口,主题,日志,自动重载脚本等等.
下面的命令可以查看run子命令的所有参数.
$ streamlit run --help
此外,config子命令可以快速查看当前对Streamlit的所有配置.
$ streamlit config show
cache子命令可以用来快速清理缓存.
$ streamlit cache clear
开发过程中,用的较多的就是上面三个子命令.
最后,我们用Streamlit来做一个简单的数据分析的应用,以此体会下它其强大之处.
首先创建一些测试数据,通过pandas和numpy创建20条时间序列数据.
# 创建时间序列测试数据
A = np.random.randint(1, 80, size=(20, 1))
B = np.random.randint(20, 100, size=(20, 1))
df = pd.DataFrame()
df.index = pd.date_range("2024/10/01", periods=20)
df["A"] = A
df["B"] = B
A列和B列是随机生成的数据,每次运行都会改变.
接下来就是Streamlit登场的时候了,页面上显示pandas的DataFrame数据很简单,就一行代码.
# 显示数据
st.table(df)
浏览器访问:http://localhost:8501/ 。
可以加个标题,稍微美化一下.
st.header("第一个APP")
st.divider() # 一条分割线
Streamlit用表格显示数据只要一行代码,同样,用折线图显示数据也只要一行代码.
# 显示折线图
st.line_chart(df)
接下来,添加Streamlit的控件,让我们可以动态的改变表格和折线图中的数据范围.
date_range = st.slider(
"日期范围",
min_value=datetime(2024, 10, 1),
max_value=datetime(2024, 10, 20),
value=(datetime(2024, 10, 1), datetime(2024, 10, 20)),
)
st.write(date_range)
添加一个数据范围的控件,范围改变时,用date_range的实际值去更新页面要显示的数据.
# graph_data是按日期过滤后的数据
graph_data = df.copy()
graph_data = graph_data[graph_data.index >= date_range[0]]
graph_data = graph_data[graph_data.index <= date_range[1]]
表格和折线图中的数据改成上面的graph_data.
# 显示折线图
st.line_chart(graph_data)
# 显示数据
st.table(graph_data)
这样,我们就可以在页面上动态改变数据范围,同时更新数据表格和折线图.
短短几行代码,就生成了一个展示DataFrame数据的Web应用.
与传统的Web开发方式相比,不需要任何前端的知识(HTML,CSS和javascript等), 。
而且,通过使用封装好的控件(table,line_chart等),开发效率极高.
与Jupyter Notebook相比,为用户提供了一个友好的操作界面,简单直观.
不需要用户通过修改代码来尝试不同的图表.
示例最终的完整代码如下:
import streamlit as st
import pandas as pd
import numpy as np
from datetime import datetime
# 创建时间序列测试数据
A = np.random.randint(1, 80, size=(20, 1))
B = np.random.randint(20, 100, size=(20, 1))
df = pd.DataFrame()
df.index = pd.date_range("2024/10/01", periods=20)
df["A"] = A
df["B"] = B
st.header("第一个APP")
st.divider()
# 增加日期范围动态调整
date_range = st.slider(
"日期范围",
min_value=datetime(2024, 10, 1),
max_value=datetime(2024, 10, 20),
value=(datetime(2024, 10, 1), datetime(2024, 10, 20)),
)
st.write(date_range)
graph_data = df.copy()
graph_data = graph_data[graph_data.index >= date_range[0]]
graph_data = graph_data[graph_data.index <= date_range[1]]
# 显示折线图
st.line_chart(graph_data)
# 显示数据
st.table(graph_data)
用run子命令来运行这个脚本即可.
streamlit run main.py
最后此篇关于『玩转Streamlit』--环境配置的文章就讲到这里了,如果你想了解更多关于『玩转Streamlit』--环境配置的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在文档中找不到答案,所以我在这里问。 在 Grails 中,当您创建应用程序时,您会默认获得生产、开发等环境。 如果您想为生产构建 WAR,您可以运行以下任一命令: grails war 或者 gr
我们组织的网站正在迁移到 Sitecore CMS,但我们正在努力以某种方式为开发人员 (4)、设计师 (4)、QA 人员 (3)、作者 (10-15) 和批准者 (4-10) 设置环境在他们可以独立
如何在WinCVS中设置CVSROOT环境变量? 最佳答案 简单的回答是:您不需要。 CVSROOT 环境变量被高估了。 CVS(NT) 只会在确定存储库连接字符串的所有其他方法都已用尽时才使用它。人
我最近完成了“learnyouahaskell”一书,现在我想通过构建 yesod 应用程序来应用我所学到的知识。 但是我不确定如何开始。 关于如何设置 yesod 项目似乎有两个选项。一是Stack
在这一章中,我们将讨论创建 C# 编程所需的工具。我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一下 C#
运行Ruby 代码需要配置 Ruby 编程语言的环境。本章我们会学习到如何在各个平台上配置安装 Ruby 环境。 各个平台上安装 Ruby 环境 Linux/Unix 上的 Ruby 安装
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我有一个这样的计算(请注意,这只是非常简化的、缩减版的、最小的可重现示例!): computation <- function() # simplified version! { # a lo
我使用环境作为哈希表。键是来自常规文本文档的单词,值是单个整数(某个其他结构的索引)。 当我加载数百万个元素时,更新和查找都变慢了。下面是一些代码来显示行为。 看起来从一开始的行为在 O(n) 中比在
我正在构建一个 R 包并使用 data-raw和 data存储预定义的库 RxODE楷模。这非常有效。 然而,由此产生的.rda文件每代都在变化。某些模型包含 R 环境,并且序列化似乎包含“创建时间”
(不确定问题是否属于这里,所以道歉是为了) 我很喜欢 Sublime Text ,我经常发现 Xcode 缺少一些文本/数据处理的东西。我可能有不止一个问题—— 'Command +/' 注释代码但没
我正在使用 SF2,并且创建了一些有助于项目调试的路由: widget_debug_page: path: /debug/widget/{widgetName} defau
我创建了一个名为 MyDjangoEnv 的 conda 环境。当我尝试使用 source activate MyDjangoEnv 激活它时,出现错误: No such file or direct
有没有办法区分从本地机器运行的包和从 Cordova 应用商店安装的包? 例如,我想像这样设置一个名为“evn”的 JavaScript 变量: if(cordovaLocal){ env = 'de
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我的任务是使用 java 和 mysql 开发一个交互式网站:使用 servlet 检索和处理数据,applet 对数据客户端进行特殊处理,并处理客户端对不同数据 View 的请求。 对于使用 jav
这按预期工作: [dgorur@ted ~]$ env -i env [dgorur@ted ~]$ 这样做: [dgorur@ted ~]$ env -i which date which: no
我想进行非常快速的搜索,看来使用哈希(通过环境)是最好的方法。现在,我得到了一个在环境中运行的示例,但它没有返回我需要的内容。 这是一个例子: a system.time(benchEnv(), g
我想开始开发 OpenACC 程序,我有几个问题要问:是否可以在 AMD gpu 上执行 OpenACC 代码? 如果是这样,我正在寻找适用于 Windows 环境的编译器。我花了将近一个小时什么也没
这可能看起来很奇怪,但是有没有办法制作机器(linux/unix 风格 - 最好是 RHEL)。我需要控制机器的速度以确保代码在非常慢的系统上工作并确定正确的断点(在时间方面)。 我能做到的一种方法是
我是一名优秀的程序员,十分优秀!