官方中文文档
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(创建项目的虚拟环境)

运行演示
- 首先激活项目的虚拟环境:在终端中,导航到项目目录并输入 。source .venv/bin/activate
- 然后输入 。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 显示出来,可以滚动、排序、搜索。
