第 3 课

pandas 与金融数据初加工

人工智能程序设计与实践 · 2026 年秋季学期 · 自学周②③ 10/2 国庆—10/8 收心

手机扫码 · 打开本课幻灯片
手机扫码 · 打开本课幻灯片

本课口令: ••••••

扫码或访问 aip-2026f.dev-learn-hub.me/a3 → 输入上方口令 → 在自己设备上同步看幻灯片
本课为自学周,幻灯片全程开放至 10/8 24:00
← 左右滑动翻页 →

本课你将完成什么

1DataFrame 心智模型 — 理解 pandas 的"超级 Excel 表"
2数据集四连 — 读取 → 缺失处理 → 分组统计 → 可视化
3第一张分析图 — bank_customers.csv 六城平均余额柱状图
4可复现能力 — 代码再跑一遍,结果一致(期末项目地基)

你手里的资源

实践指南三《pandas 与数据初加工》

本课学习主线:概念地图、分日任务书、速查表、红线。本页幻灯片只讲做什么怎么做看指南。

本课幻灯片

扫码进入(口令在班级群公布),自学周期间全程开放

统一数据集

bank_customers.csv(200 行)+ DATA_DICT.md 字段字典。下载入口在幻灯片最后一页

llm2-isc 校内平台

遇到不懂的概念直接问 AI——附上你的提问与 AI 回答到学习笔记

本课知识体系

心智模型 — DataFrame = 超级 Excel 表
四连动作 — 读取 → 缺失处理 → 分组统计 → 可视化
可复现能力 — 代码再跑一遍,数据更新结果自动更新
主线先建立表格心智(DataFrame),再练四连动作(读/洗/分组/画),最后体会可复现——这是第三章数据挖掘全部工作的地基

① pandas 是什么

一句话

pandas 把你的数据变成一张"超级 Excel 表"(DataFrame),然后你可以用代码对它做 Excel 做不到的事:

  • 自动化
  • 可复现
  • 百万行不卡

核心对象

  • Series:一列数据(带索引)
  • DataFrame:多列拼成的表——行索引 + 列名,本课的主角
为什么用代码而不是 Excel你上周的分析,这周数据更新了——Excel 要重做,代码再跑一遍。这就是"可复现",也是你期末项目的过程证据基础

② 统一数据集介绍

bank_customers.csv(200 行)

字段 含义
customer_id 客户编号
age 年龄
gender 性别
city 城市(云南6城)
account_age_months 开户月数
product_count 持有产品数
balance 存款余额(元)
avg_monthly_spend 月均消费(元)
loan_flag 是否有贷款 0/1
overdue_count 历史逾期次数
is_default 是否违约 0/1
risk_level 风险评级(低/中/高)

使用红线

本数据集为教学演示虚构数据,非真实统计

字段名已冻结——作业中引用的字段名必须与此完全一致(评价系统会校验)。

金融场景这是本课金融场景的第一次落地——银行客户数据,将贯穿第三章全部数据挖掘工作

本周节奏:4 个任务日

P110/3 · 读入与初识 — pd.read_csv + 三连(head/info/describe)
P210/4 · 列选择与条件筛选 — 布尔索引 + value_counts
P310/5 · 缺失值处理 — isna/dropna/fillna 三策略
P410/6 或假期自定 · 分组统计与可视化 — groupby + matplotlib(10/8 前完成)
节奏约定每日上午在评价系统查看当日任务,晚 24:00 前完成提交。P4 最迟 10/8 24:00 前完成

P1 · 读入与初识

学习:让 TRAE CODE 讲解并生成代码

text
我在学 pandas。请生成一个入门脚本 read_data.py:
1. 用 pd.read_csv 读入 bank_customers.csv
2. 依次输出 df.head()、df.info()、df.describe()
3. 每步配中文注释解释这三个方法分别在看什么

任务

跑通脚本;在 notes/pandas-notes.md 用自己的话回答"三连各看什么":

  • head 看前 5 行长啥样
  • info 看列类型和缺失
  • describe 看数值分布概要
检查点评价系统检测 read_data.py 存在、运行成功、notes 有三行答案

P2 · 列选择与条件筛选

布尔索引

df[df['age'] > 40] 意思是"表里那些年龄大于 40 的行"。

任务:写 filter.py

  1. 筛选昆明客户
  2. 筛选"余额>10万 且 有贷款"的客户,输出人数
  3. 按 risk_level 分组数人数(value_counts()

检查点

三个输出数值正确(评价系统基准答案 hash 校验逻辑一致性)

故意实验

df[df.age > 40]df['age']>40 单独运行分别输出什么?为什么?记录到笔记——理解"布尔掩码"是 pandas 的关键一跃

P3 · 缺失值处理

学习

  • df.isna().sum() 逐列数缺失
  • 处理三策略:
    • (dropna)
    • (fillna,本数据用中位数填 age、用"未知"填 city)
    • 标记(加一列缺失指示)

任务:写 clean.py

  1. 统计缺失并输出
  2. 按上述策略填补
  3. 输出处理后再统计(应全为 0)
检查点处理前后缺失统计对比输出清晰。金融数据中缺失值处理是合规性第一步——脏数据进,脏模型出

P4 · 分组统计与可视化

任务:写 report.py

  1. 按 city 分组计算 balance 均值
  2. 柱状图展示六城平均余额
  3. age 直方图看年龄分布
  4. 图保存为 outputs/city_balance.png 提交

指令示范

text
用 pandas+matplotlib 分析 bank_customers.csv:
- 按城市分组计算存款余额平均值,画柱状图
  (标题、轴标签中文)
- 解决中文显示乱码
  (plt.rcParams['font.sans-serif']
   =['SimHei'] 或 macOS 用 'Arial Unicode MS')
- 保存为 outputs/city_balance.png
检查点PNG 图提交到仓库,图中六城柱高与 groupby 数值一致。这是你第一张数据分析图

自主实践任务

每日任务P1-P4 每日提交,评价系统自动判定
自主实践①再加一图:gender × risk_level 交叉统计热力图或分组柱状图 ②describe 输出里"std"是什么意思,用一句人话+一个例子写进笔记
独立研究agg 还能怎么用,再举两种 ②sort_values 怎么按多列排序(先 city 升序再 balance 降序) ③pandas 的 lociloc 区别,各写一个例子
50 道选择题当周完成,成绩单独记录

红线

红线 1不改动 data/ 下的数据文件(评价系统校验 hash;分析产物放 outputs/)
红线 2分析脚本中引用字段名与 DATA_DICT 完全一致
红线 3每图每结论注明"教学虚构数据"
S3 思政落点数据求实——以原始数据为准,不篡改、不编造、不隐瞒缺失,是金融从业者的底线

速查表

需求 代码
读 CSV df = pd.read_csv('bank_customers.csv')
三连 df.head() / df.info() / df.describe()
选列 df['age']df[['age','balance']]
筛选 df[(df['age']>40) & (df['loan_flag']==1)]
数缺失 df.isna().sum()
填补 df['age'].fillna(df['age'].median())
需求 代码
分组 df.groupby('city')['balance'].mean()
计数 df['risk_level'].value_counts()
画柱 df.plot(kind='bar')
画直方 df['age'].plot(kind='hist')
存图 plt.savefig('outputs/x.png')
注意筛选条件中 & 两侧必须加括号——这是初学者最常踩的坑

求助阶梯

1实践指南对应部分 — 概念地图 + 分日任务书 + 速查表
2llm2-isc 概念答疑 — 不懂的 pandas 概念直接问 AI
3TRAE CODE 生成代码 — 指令示范已在任务书里,照抄即可
4班级群 / 评价系统 — 教师每天上午答疑一次
按此顺序前三步能解决绝大多数问题。卡住超过 30 分钟就发班级群

资源与下载

学生实践指南三 · docx

概念地图 + 分日任务书 + 速查表 + 红线

下载:学生实践指南-第3次课.docx

课堂作业三 · 作业要求 docx

分日任务详 + 自检清单

下载:课堂作业三-作业要求.docx

现在,开始你的自学周

① P1 · 读入与初识 — pd.read_csv + 三连
② P2-P3 · 筛选与缺失 — 布尔索引 + fillna 三策略
③ P4 · 分组可视化 — groupby + matplotlib 第一张图
10/3 上午 9:00评价系统发布 P1 任务。实践指南 → llm2-isc → TRAE CODE → 班级群。10/8 24:00 前完成全部 4 个任务日

🔒 本课幻灯片需要口令

口令由任课教师随堂公布

提示:口令在课堂投影的幻灯片第一页上