Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python 数据分析课程(零基础)/ Python for Data Analysis — A Course from Zero

Release License: MIT Python Jupyter Language

面向 编程零基础初学者(尤其适合经济学/社会科学方向)的 5 周 Python 课程,终点是 能独立做数据处理 + 理解并跑 OLS 回归 + 完成一份真实数据可复现分析报告。 A 5-week Python course for complete beginners (great for economics/social-science learners), ending at data wrangling + OLS regressions + a reproducible real-world data report.

作者 / Author: PENG

当前版本 / Version: v1.0 稳定版 / stable — 全部版本见 Releases


课程概览 / Overview

  • 对象 / Audience: 编程零基础的初学者(经济学/社科背景友好)/ beginners with zero coding (economics-friendly)
  • 时长 / Duration: 5 周 · 15 节 · 每节 60 分钟(周一/三/五)/ 5 weeks, 15 sessions, 60 min each (Mon/Wed/Fri)
  • 每节结构 / Per session: 20 分钟理论 + 20 分钟演示 + 20 分钟课堂练习 / 20-min theory + 20-min demo + 20-min practice
  • 课后 / After class: 每节一份约 30 分钟作业,附答案 / one ~30-min homework per session, with answers
  • 语言 / Language: 中英双语对照 / bilingual (Chinese + English)
  • 环境 / Environment: Anaconda + Jupyter Notebook(见 SETUP_GUIDE.md

进度表 / Schedule

周 Week 节 Session 主题 / Topic Notebook
1 1 环境、变量与数据类型 / Setup, variables & types week1/session1_lecture.ipynb
1 2 列表与循环 / Lists & loops week1/session2_lecture.ipynb
1 3 字典、条件与函数 / Dicts, conditionals & functions week1/session3_lecture.ipynb
2 4 NumPy 向量化数组 / NumPy arrays week2/session4_lecture.ipynb
2 5 pandas 入门:Series 与 DataFrame / Intro to pandas week2/session5_lecture.ipynb
2 6 pandas 索引与筛选 / Indexing & filtering week2/session6_lecture.ipynb
3 7 读写真实数据 / Reading real data week3/session7_lecture.ipynb
3 8 数据清洗 / Data cleaning week3/session8_lecture.ipynb
3 9 matplotlib 可视化 / Visualization week3/session9_lecture.ipynb
4 10 分组聚合与描述统计 / Group-by & stats week4/session10_lecture.ipynb
4 11 一元 OLS 回归 / Simple OLS week4/session11_lecture.ipynb
4 12 多元 OLS、虚拟变量与综合实战 / Multiple OLS, dummies & capstone week4/session12_lecture.ipynb
5 13 项目启动:提出问题、获取与理解数据 / Project kickoff: question, data & cleaning week5/session13_lecture.ipynb
5 14 探索性数据分析与可视化讲故事 / EDA & visual storytelling week5/session14_lecture.ipynb
5 15 建模与可复现报告(结课项目)/ Modeling & reproducible report (capstone) week5/session15_lecture.ipynb

第 5 周是 真实数据实战周:用 gapminder(全球各国 1952–2007 预期寿命/人口/人均 GDP)完成一个完整的可复现分析项目。 Week 5 is a real-world project week on gapminder.

详细逐节计划见 SYLLABUS.md。/ Full plan in SYLLABUS.md.


目录结构 / Project Structure

python-course/
├── README.md            # 本文件 / this file
├── SYLLABUS.md          # 详细课程大纲(逐节计划)/ detailed syllabus
├── SETUP_GUIDE.md       # Anaconda 安装与排障 / setup & troubleshooting
├── data/                # 课程数据集 / datasets (tips.csv, macrodata.csv, gapminder.csv, ex1/ex2, ex1.xlsx)
│                        #   └─ gapminder_demo_errors.csv = 故意含缺失值的版本,用于课堂演示"脏数据/清洗" / a deliberately broken copy for teaching data-cleaning
├── week1/ … week5/      # 每节 3 个 notebook / 3 notebooks per session
│   ├── sessionN_lecture.ipynb    # 讲师演示版(理论+演示+课堂练习,逐格运行即出结果)
│   ├── sessionN_homework.ipynb   # 课后作业题面(空待填)
│   └── sessionN_answers.ipynb    # 课后作业答案(完整可运行)
├── REFERENCES.md        # 参考资料清单(第三方仓库链接,不随本仓库分发)/ reference links
└── build/               # 生成 notebook 的脚本 / scripts that build the notebooks

每个 lecture notebook 内部分三段:Part 1 理论 → Part 2 演示 → Part 3 课堂练习(练习答案附在 notebook 末尾,供讲师用)。


使用建议 / How to Use

  1. 先装环境:照着 SETUP_GUIDE.md 装好 Anaconda,创建 pycourse 环境。 Install Anaconda first; create the pycourse environment.
  2. 课前:打开当节的 sessionN_lecture.ipynb,跟着老师一格一格运行(Shift+Enter)。 Before class, open the lecture notebook and run cells along with the instructor.
  3. 课堂练习:在 lecture 的 Part 3 自己动手填代码,遇到卡壳看末尾的参考答案。 Do Part 3 exercises yourself; peek at the solutions at the end if stuck.
  4. 课后:独立完成 sessionN_homework.ipynb(约 30 分钟),先自己做,再 对照 sessionN_answers.ipynb 检查。 After class, do the homework on your own first, then check against the answers.
  5. 第 4 周:第 12 节作业是综合小项目,独立走完"读数→清洗→画图→回归→解读"。 Week 4 ends with a full-pipeline mini-project.
  6. 第 5 周:用真实的 gapminder 数据做一个完整的 可复现分析项目,第 15 节的结课作业是独立产出一份双语分析报告;讲义最后还点了 逻辑回归等可继续深入的方向Week 5 is a real-world reproducible project on gapminder; the final capstone is your own bilingual report, and the last lecture points to next topics (logistic regression, causal inference, …).

启动方式:在终端 conda activate pycourse,再 cd 到本目录,运行 jupyter notebook。 Notebook 用相对路径 ../data/... 读数据,所以请 在各 weekN 目录下 打开对应 notebook。


结课目标 / Learning Outcome

完成后,你应能独立:用 pandas 读取/清洗/分组数据,用 matplotlib 画图,用 statsmodels 跑一元与多元 OLS(含虚拟变量),并正确解读 系数、R²、p 值。 By the end, you can load/clean/group data with pandas, plot with matplotlib, run simple & multiple OLS (with dummies) in statsmodels, and correctly read coefficients, R², and p-values.


许可证 / License

本项目采用 MIT License 授权,版权所有 © 2026 PENG。你可以自由使用、修改、分发本课程材料(包括用于教学),只需保留原始版权声明。完整条款见 LICENSE

Licensed under the MIT License, Copyright © 2026 PENG. You are free to use, modify, and distribute these course materials (including for teaching) provided the original copyright notice is retained. See LICENSE for the full text.

About

零基础 5 周 Python 数据分析课程(中英双语 · Jupyter):从变量/列表到 pandas、可视化、statsmodels OLS 回归与可复现报告。A 5-week beginner-friendly Python data-analysis course (bilingual).

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages