Streamlit学习笔记

官方中文文档

GitHub项目1

python 复制代码
git clone https://github.com/streamlit/streamlit-example.git
cd streamlit-example
pip install -r requirements.txt  
streamlit run streamlit_app.py

NumPy

Python 处理数字和数组的"基础工具"。它让Python能高效处理大量数字(比如一堆数字组成的表格或矩阵),支持快速数学计算、随机数生成等。数据分析几乎都从它开始,因为速度快、功能强。
Pandas

专门处理表格数据的"Excel 神器"。它能轻松读取 CSV、Excel 文件,清洗脏数据(去掉缺失值、重复行)、过滤、汇总、合并表格等。核心是"DataFrame"这个结构,像超级强大的电子表格,但用代码操作。
Altair

功能:通过"数据→encode→mark"语法声明式画图;自动输出 Vega-Lite JSON,前端渲染。

特点:代码量极少,默认统计最佳实践(如自动分箱、置信带);原生支持交互筛选、tooltip,但交互深度不如 Plotly。

用途:快速探索性可视化、统计报告、学术论文图。
Plotly (Python 版)

强大的互动绘图库,能做出非常漂亮、可以鼠标缩放、悬停、点击的动态图表(包括 3D 图、地图等)。适合做专业级仪表盘或报告,图表可以直接嵌入网页或 Streamlit App 里,互动性超强。
Streamlit

就是一个超级简单的工具,能让你用纯 Python 代码,几行就快速建一个互动的网页应用(比如数据仪表盘、模型演示)。不用学 HTML、CSS 或 JavaScript,写好代码运行一下,就直接变成浏览器里能用的 App。特别适合数据科学家分享成果。每出现一次 st.xxx 就对应页面一个组件
NumPy :专门管"数字砖头"------把一大堆数字整整齐齐码成一块板子,算得飞快。
Pandas :给这些砖头贴上标签、分行列,变成一张能查能改的"Excel 表"。
Altair :一句话"把这张表画成图",出来的是干净漂亮的统计图,能点能选,但不算太花哨。
Plotly :也是画图,但主打"网页级炫交互"------能放大、缩小、悬停看数字、3D 旋转,适合放仪表板。
Streamlit :把前面做的表、图、模型包在一起,不用懂网页,直接生成一个可交互的网页 App,别人打开浏览器就能用。
NumPy 生成/接收原始数组 → Pandas 清洗成 DataFrame → Altair/Plotly 出图 → Streamlit 把全套逻辑包装成可交互网页

GitHub项目2

安装 uv(windows)
powershell 复制代码
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"


或者:

克隆仓库,在项目目录中输入命令uv sync(创建项目的虚拟环境)
运行演示
  1. 首先激活项目的虚拟环境:在终端中,导航到项目目录并输入 。source .venv/bin/activate
  2. 然后输入 。streamlit run streamlit_app.py
安装plotly,一个交互式可视化库,核心特点是"可交互、可分享、零前端代码"
powershell 复制代码
pip install plotly
代码解释
python 复制代码
import streamlit as st
import pandas as pd
import plotly.express as px
  • streamlit(简称 st):负责把 Python 代码变成网页。
  • pandas(简称 pd):用来读和处理表格数据。
  • plotly.express(简称 px):快速画出漂亮的互动图表。
python 复制代码
df = pd.read_csv("state_data.csv")
  • 用 pandas 读取一个叫 state_data.csv 的文件(里面应该是美国各州每年的人口数据),存到一个叫 df 的表格(DataFrame)里。
python 复制代码
st.header("US State Demographics")
  • 在网页上显示一个大标题:"US State Demographics"(美国各州人口统计)。
python 复制代码
state = st.selectbox("State:", df["State"].unique())
  • 在网页上放一个下拉选择框,标题叫"State:"。
  • 选项是表格里所有不重复的州名(比如 California、Texas...)。
  • 用户选哪个州,state 这个变量就会变成那个州的名字。
python 复制代码
df_state = df[df["State"] == state]
  • 从完整表格 df 中,只挑出用户当前选的那个州的全部行,存到 df_state 里。
python 复制代码
fig = px.line(
    df_state, x="Year", y="Total Population", title=f"Total Population of {state}"
)
  • 用 Plotly 快速画一张折线图:
    • 数据来源是 df_state(只包含选中的州)
    • X 轴是"Year"(年份)
    • Y 轴是"Total Population"(总人口)
    • 图表标题自动变成"Total Population of California"(取决于用户选的州)
python 复制代码
st.plotly_chart(fig)
  • 把上面画好的互动折线图直接显示在网页上。用户可以用鼠标放大、缩小、悬停看具体数字,完全是专业级互动效果。
python 复制代码
st.write("All Data")
st.dataframe(df)
  • 先写个小标题"All Data"(所有数据)
  • 再把完整的原始表格 df 显示出来,可以滚动、排序、搜索。
相关推荐
会编程的土豆6 分钟前
Redis 常用操作笔记(Go 开发实战)
redis·笔记·golang
Rsingstarzengjx7 分钟前
【stm32】尚硅谷基础篇笔记
笔记·stm32·嵌入式硬件
AOwhisky11 分钟前
Ceph系列第五期:Ceph 对象存储(RADOS Gateway)精讲
linux·运维·笔记·ceph·gateway·对象存储
凉、介14 分钟前
深入理解 ARMv8-A|异常/中断处理
笔记·学习·嵌入式·arm
吃好睡好便好19 分钟前
矩阵的求逆运算
人工智能·学习·线性代数·matlab·矩阵
東隅已逝,桑榆非晚19 分钟前
新手入门指南:认识 C 语言文件操作(下)
c语言·笔记
库奇噜啦呼19 分钟前
【iOS】源码学习-方法交换
学习·ios·cocoa
飞翔中文网24 分钟前
Java学习笔记之泛型
java·笔记·学习
li星野32 分钟前
RAG优化系列:自适应检索(Adaptive Retrieval)——让系统智能选择是否检索
人工智能·python·学习
AOwhisky37 分钟前
Ceph系列第四期:Ceph块存储(RBD)精讲
linux·运维·笔记·ceph·云计算·rbd