Skip to content

Module 1: Python 入门导航

为什么选择 Python?——社科研究者的编程起点


本章概览

开始学习 Python 之前,最重要的问题是:为什么要学 Python? 本章将从社会科学研究者的视角,帮你理解 Python 的独特价值、与 Stata/R 的对比,以及如何迈出编程的第一步。


学习目标

学完本章后,你将能够:

  • 理解 Python 在社科研究中的优势和应用场景
  • 清楚 Python 与 Stata、R 的异同和互补关系
  • 掌握何时用 Python、何时用 Stata/R
  • 成功运行第一个 Python 程序
  • 理解变量、函数、数据分析的基本概念
  • 建立学习 Python 的信心和正确心态

章节内容

01 - 为什么学习 Python?

核心问题: Python 能为社科研究带来什么?

核心内容:

  • Python 在学术界的崛起(顶刊接受度、引用趋势)
  • 五大核心优势:免费开源、生态丰富、通用性强、社区活跃、职业价值
  • 真实研究案例:
    • 文本分析(Twitter 情绪分析、transformers 模型)
    • 因果推断(Double Machine Learning)
    • 事件研究(股票异常收益)
    • 网络分析(社交网络中心性)
  • Python 的局限性(诚实讨论)
  • 学术期刊政策(AER、QJE、Econometrica)

为什么重要?

  • 建立学习动机:理解 Python 的独特价值
  • 设定合理预期:知道什么能做、什么不能做
  • 职业发展:掌握学术界和业界都需要的技能

02 - Python vs Stata/R

核心问题: 我已经会 Stata/R,为什么还要学 Python?

核心内容:

  • 基础语法对比(变量创建、循环、条件判断)
  • 数据处理对比(Pandas vs data.table vs Stata)
  • 高级操作对比:
    • 面板数据回归(固定效应)
    • 分类变量处理
    • 时间序列操作
    • 字符串处理
  • DID 双重差分完整工作流对比
  • 数据可视化对比(coefplot 三语言实现)
  • 性能基准测试(100万行数据处理)
  • 生态系统对比(包管理、社区、学习资源)
  • 混合使用策略(何时用哪个工具)

三种工具的定位:

  • Stata: 计量经济学标准、稳健性检验、政策评估
  • R: 统计建模、学术绘图(ggplot2)、生物统计
  • Python: 大数据、机器学习、文本分析、全栈开发

03 - 第一个 Python 程序

核心问题: 如何开始写代码?

核心内容:

  • Hello World 程序
  • 基础概念:变量、数据类型、运算符
  • 简单计算示例(教育收益率)
  • 完整案例:收入不等式分析
    • 生成5000个样本
    • 描述性统计(均值、中位数、标准差)
    • 基尼系数计算
    • OLS 回归分析
    • 数据可视化(收入分布直方图)
  • 生产级代码 vs 初学者代码对比
  • 练习题(带完整答案)

学习方法:

  • 动手实践:每个示例都要运行
  • 修改参数:理解代码逻辑
  • 查看输出:建立直觉
  • 循序渐进:从简单到复杂

三种语言快速对比

维度PythonStataR
学习曲线⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
计量经济学⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
机器学习⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
文本分析⭐⭐⭐⭐⭐⭐⭐⭐
大数据处理⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
数据可视化⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
免费开源
社区支持⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

如何选择?

根据研究任务

任务首选工具原因
OLS/Logit/ProbitStata/PythonStata 简洁,Python 灵活
面板数据/固定效应Stata最成熟的实现
DID/RDD/PSMStata/R标准化流程
机器学习预测Python最丰富的库
文本挖掘/NLPPythontransformers、spaCy
网络分析Python/RNetworkX、igraph
数据可视化R/Pythonggplot2 最强,Python 次之
大数据(>10GB)PythonDask、PySpark

根据学习阶段

第 1-2 周(入门):

  • 阅读本章 3 篇文章
  • 运行所有代码示例
  • ️ 完成练习题

第 3-4 周(建立信心):

  • 用 Python 复现一个 Stata 分析
  • 尝试用 Python 做简单回归
  • 对比 Python 和 Stata 的输出

第 5 周以后(深入学习):

  • 学习 Module 3-11 的语法和数据处理
  • 根据研究需求选择性学习高级主题
  • 在实际研究中使用 Python

本章学习建议

最小化学习路径

如果时间有限,按以下优先级:

必学(1-2小时):

  • 01 - 为什么学习 Python(阅读)
  • 03 - 第一个 Python 程序(动手实践)

重要(2-3小时):

  • 02 - Python vs Stata/R(重点看对比表格)
  • 03 - 完整案例:收入不等式分析

提升(选读):

  • 01 - 真实研究案例部分
  • 02 - 混合使用策略

常见问题

Q: 我完全没有编程基础,能学会吗? A: 可以!本课程假设零基础,从最基础的概念讲起。只要跟着练习,每天1小时,2周就能入门。

Q: 学 Python 是不是要放弃 Stata/R? A: 不!三种工具各有优势,应该互补使用。初期可以"Python 为主,Stata/R 辅助",逐步找到最适合自己的工作流。

Q: 我的研究主要用 Stata,学 Python 有必要吗? A: 看研究需求。如果只做传统计量(OLS/固定效应),Stata 足够。但如果涉及文本分析、机器学习、大数据,Python 是必需品。

Q: 需要多久才能用 Python 做研究? A: 基础语法(2周) → 数据处理(2周) → 回归分析(1周) → 能做简单研究(5周)。深度掌握需要3-6个月。


下一步

完成本章后,你将:

  • 建立学习 Python 的清晰动机
  • 理解 Python 在研究工作流中的定位
  • 成功运行第一个数据分析程序
  • 为后续深入学习打好基础

Module 2 中,我们将配置开发环境(Jupyter、VS Code、Colab),选择最适合你的编程工具。

Module 3 中,我们将系统学习 Python 语法,从变量、数据类型到循环、条件判断。

准备好了吗?让我们开始这段激动人心的编程之旅!


快速链接

基于 MIT 许可证发布。内容版权归作者所有。