Python 的 Streamlit 库是一款专为数据科学家和机器学习工程师设计的开源 Web 应用开发工具。它允许用户使用纯 Python 代码创建交互式的、数据驱动的 Web 应用程序,无需具备 Web 开发技能(如 HTML、CSS、JavaScript)。Streamlit 库简化了从数据探索、模型训练到结果呈现的全过程,使得数据专业人士能够迅速将他们的工作成果转化为直观、易于理解的 Web 界面,便于分享给同事、客户或公众。以下是 Streamlit 库的主要特性和使用要点:
主要特性
- Python-first:
- 采用 Python 语言编写应用程序逻辑,无需学习额外的模板语言或前端框架。
- 支持直接使用 Pandas DataFrames、Numpy 数组、Matplotlib 图形、Plotly 图表等数据科学库的输出。
- 交互性:
- 内置丰富的交互组件,如滑块、多选框、输入框、按钮、日期选择器等,支持用户与应用进行动态交互。
- 支持实时更新应用状态,当用户改变输入或触发操作时,应用能够立即响应并更新界面。
- 数据可视化:
- 集成 Matplotlib、Seaborn、Plotly、Altair 等可视化库,方便在应用中嵌入各种图表和图形。
- 支持自定义 HTML、SVG 或 iFrame,插入更复杂的可视化组件或第三方服务。
- 模块化与复用:
- 应用可以分解为多个独立的 Streamlit 组件,便于代码组织和模块复用。
- 支持使用 Streamlit Components 进一步扩展库的功能,引入社区贡献的自定义组件。
- 部署便捷:
- 可以通过 streamlit run app.py 命令一键启动本地开发服务器,实时预览应用。
- 支持一键部署到 Heroku、Google Cloud Platform、Amazon Web Services (AWS) 等云平台。
基本使用流程
安装
pip install streamlit
编写应用
- 创建一个 Python 脚本(如 app.py),使用 Streamlit API 编写应用逻辑。
- 使用 st.* 函数(如 st.write、st.pyplot、st.map、st.checkbox 等)构建界面元素。
运行应用
streamlit run app.py
浏览器自动打开应用界面,根据脚本内容实时更新。
关键 API 示例
写入文本
st.write("Hello, Streamlit!")
展示 DataFrame
import pandas as pd
df = pd.read_csv('data.csv')
st.dataframe(df)
绘制 Plotly 图表
import plotly.express as px
fig = px.scatter(df, x='feature1', y='feature2', color='category')
st.plotly_chart(fig)
添加交互组件
show_advanced = st.checkbox("Show advanced options")
if show_advanced:
st.text("Advanced content appears when the checkbox is checked.")
创建页面布局
col1, col2 = st.columns(2)
with col1:
st.metric("Revenue", "$12,345")
with col2:
st.metric("Profit", "$5,432")
进阶功能
状态管理
- 使用 st.session_state 访问和存储用户交互产生的状态信息,实现跨页面或跨组件的状态共享。
缓存
- 使用 @st.cache 装饰器对耗时计算或数据加载进行缓存,提高应用性能。
主题定制
- 通过 st.set_page_config(layout=”wide”, page_icon=”…”, initial_sidebar_state=”…”) 设置应用布局、图标和侧边栏状态。
- 使用 CSS 代码自定义应用样式。
部署
本地部署
- 仅需持续运行 streamlit run app.py 命令即可在本地访问应用。
云部署
- 利用 Streamlit Sharing(官方免费托管服务)一键部署公开应用。
- 将应用部署到 Heroku、GCP、AWS 等云平台,根据需要配置环境、设置访问权限。
总之,Python 的 Streamlit 库极大地降低了数据专业人士创建 Web 应用的门槛,使得他们能够专注于数据处理和模型开发,同时快速构建出具有专业水准、交互性强的 Web 界面,有效提升数据产品的交付效率和用户体验。
存档地址:https://www.yuque.com/worthstudy/study/hcs323fraysrqq4w?singleDoc# 《Streamlit库》
© 版权声明
文章版权归作者所有,如需转载请联系作者。若文章内容侵犯了您的权益,请通过网站底部联系方式联系我们处理(本站具有最终解释权)。如有不便之处,敬请谅解。
THE END
暂无评论内容