📖 学员手册
代码讲解已合并到高亮预览的代码注释里
🚦 城市交通管理控制平台 · 学员手册
第二季:文明进化计划 · 第4课(总第十二课) | 70 分钟 | 数据分析系统 | +220 EXP | 🚦
| 你将学会 | 你将完成 |
|---|---|
| csv.DictReader | 读取城市交通 CSV 日志 |
| StringIO | 把字符串伪装成文件 |
| try / except | 清洗 unknown、bad 等脏数据 |
| statistics.mean / median | 计算平均速度和中位速度 |
| 字典套列表 | 按路口分组统计 |
| HTML_PREVIEW 网页预览 | 生成交通控制台原型 |
一、🎬 城市任务
同步钟楼上线后,城市每个路口都能按统一时间记录数据。可是早高峰一来,创世广场、医院路口和学校路口同时报警。你要读取交通日志,找出最堵路口,并预测拥堵趋势。
本课目标不是背模块,而是完成一次真实的数据流程:
text
读取数据 -> 清洗数据 -> 交通态势 -> 事件管理 -> 信号优化 -> 诱导发布 -> 生成控制平台二、📄 csv 模块
CSV 像一张纯文本表格。第一行是表头,后面每一行是一条交通记录。
python
reader = csv.DictReader(StringIO(traffic_csv))
for row in reader:
print(row['crossing'], row['speed'])row['speed'] 的意思是:取出这一行 speed 这一格。
三、🛡️ try / except
真实数据会脏,可能出现 unknown、空值、bad。try/except 就像程序安全气囊。
python
try:
speed = int(row['speed'])
except:
speed = 0人话解释:先试着把 speed 变成整数;如果失败,不让程序崩溃,改用备用值 0。
四、📈 statistics 模块
statistics 是 Python 自带的数据分析助手。
python
avg_speed = statistics.mean(speeds)
mid_speed = statistics.median(speeds)- mean:平均值,看整体速度。
- median:中位数,不容易被极端值骗。
五、六关挑战
- 读取交通日志:认识 CSV 表头和 row 字典。
- 清洗脏数据:用 try/except 处理 unknown 和 bad。
- 交通态势总览:计算综合指数、平均速度、拥堵里程和今日事件。
- 事件管理与路口分组:用字典套列表保存每个路口的数据,统计事件数和拥堵指数。
- 信号优化与诱导发布:比较前后速度趋势,生成绿灯优化和绕行提示。
- 发布控制平台原型:用 HTML_PREVIEW 显示态势、地图、事件、信号和诱导信息。
六、作品标准
- ✅ 能读取 CSV 交通日志
- ✅ 能清洗坏数据
- ✅ 能计算综合交通指数、平均速度和拥堵里程
- ✅ 能找出最堵路口
- ✅ 能预测拥堵加重/缓解/稳定
- ✅ 能生成信号优化和诱导发布建议
- ✅ 能生成交通控制平台原型截图
七、工程升级版:Plotly Dash
实验室用 HTML_PREVIEW 帮你看懂每一段代码负责哪个平台模块。 学有余力后,可以下载 Dash 工程版,把同一套交通逻辑升级成真正的 Web 数据大屏。
text
/curriculum/L12/traffic_dashboard.zip运行:
bash
pip install -r requirements.txt
python app.pyCtrl+/ 注释 · ▶ 运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
点击 ▶ 运行或按 Ctrl+Enter
预览区(HTML / turtle 输出)
📋 任务卡
1显示数据接入区
右侧 HTML 预览显示数据接入层:CSV 表头和前 5 条交通记录。
💡运行后输入 1+10 XP
2显示数据清洗区
右侧 HTML 预览显示数据安全层:有效数据、异常数据和 try/except 的作用。
💡运行后输入 2+10 XP
3显示交通态势区
右侧 HTML 预览显示左侧态势面板:综合指数、平均车速、拥堵里程、今日事件。
💡运行后输入 3+10 XP
4显示路网事件区
右侧 HTML 预览显示中间地图/事件区:每个路口的拥堵指数和事件数量。
💡运行后输入 4+10 XP
5显示信号诱导区
右侧 HTML 预览显示右侧控制区:信号优化率、趋势判断、诱导发布信息。
💡运行后输入 5+10 XP
6显示完整控制平台
右侧 HTML 预览显示完整交通管理控制平台原型,把前 5 关模块组合成最终作品。
💡运行后输入 6+10 XP
🎁 完成全部 +30 XP
加载中
▶▼ 🧩 扩展
📦numpy
📦matplotlib
📦pillow
📦requests
📦sympy
📦pandas
📦scipy
📦beautifulsoup4
📦pygame
📦flask
📦opencv-python
📦nltk
📦sqlalchemy
📦plotly