首页 / Pandas 入门教程 / 与其他工具对比与学习路径

Pandas 入门教程

与其他工具对比与学习路径

本教程共 54 篇 · 第 54 篇 · 更新于 2026-08-11 · 约 6 分钟阅读

PandasPandas 入门教程SQLRExcel学习路径

本节目标:看清 pandas 与 Excel、SQL、R、SAS 等工具的对应关系,理解它在 Python 生态中的位置,并规划下一步学习路线。

与 Excel:从表格到代码

pandas 和 Excel 是最像的一对。术语先对上:

Excelpandas
工作表 worksheetDataFrame
列 columnSeries
行标题Index
单元格公式向量化表达式
空单元格NaN
VLOOKUPmerge

Excel 的优势是所见即所得、操作直观;pandas 的优势是可重复、可自动化、数据量大不卡。公式拖拽在 pandas 里是一整列运算,VLOOKUP 变成 merge(§34)。日常小事用 Excel 更快,超过几万行、要反复跑的分析,交给 pandas。两者还能互通:read_excel / to_excel(§12)随时互转。

与 SQL:数据库思维迁移

会 SQL 的人学 pandas 很快。官方文档给了完整对照表,核心几条:

SQLpandas
SELECT 列df[["列1", "列2"]]
WHEREdf[df["列"] > 10]df.query(...)
GROUP BY + 聚合df.groupby("列").agg(...)
JOINdf1.merge(df2, on="键", how="left")
UNION ALLpd.concat([df1, df2])
LIMITdf.head(10)
UPDATEdf.loc[条件, "列"] = 新值
DELETEdf = df.loc[保留条件]

来个实际对照:

# SQL: SELECT 城市, AVG(金额) FROM 订单 GROUP BY 城市
import pandas as pd

df = pd.DataFrame({"城市": ["北京", "上海", "北京", "广州"],
                   "金额": [100, 200, 150, 120]})
print(df.groupby("城市")["金额"].mean())

SQL 擅长存在数据库里、结构化的大数据;pandas 适合读进内存后做复杂变换。一个常见组合:SQL 做粗粒度筛选聚合,pandas 做细粒度清洗建模。

与 R:统计家族的远亲

pandas 的设计和 R 的 data.frame 有直接渊源。R 的 dplyr 包和 pandas 几乎一一对应:

dplyrpandas
filter(df, 金额 > 100)df[df["金额"] > 100]
select(df, 城市, 金额)df[["城市", "金额"]]
mutate(df, 翻倍 = 金额 * 2)df.assign(翻倍=df["金额"] * 2)
arrange(df, desc(金额))df.sort_values("金额", ascending=False)
summarise(df, 平均 = mean(金额))df.groupby("城市")["金额"].mean()

R 的分类变量 factor 对应 pandas 的 Categorical(§50),缺失值 NA 对应 NaN。R 的统计生态更成熟,pandas 的强项是 Python 生态集成——两边语法相似,换工具的学习成本不高。

与 SAS / Stata / SPSS:传统统计软件

这些商业软件在医学、社科、金融行业仍有大量用户,官方文档为它们各写了对照页。共同点是把”数据集 / 变量 / 观测”挂在嘴边:

  • SAS:数据集(data set)≈ DataFrame,变量(variable)≈ 列,观测(observation)≈ 行,PROC 步骤≈ pandas 方法链,缺失值 . ≈ NaN。pandas 用 read_sas 直接读 SAS 数据。
  • Stata:以 .dta 文件闻名,pandas 用 read_stata / to_stata 读写,Stata 的值标签(value labels)对应 Categorical 的类别表。
  • SPSS:.sav 文件可用 pyreadstat 转成 DataFrame,问卷数据的标签和缺失值体系也能带过来。

它们由图形界面或宏语言驱动,按行业合规设计;pandas 胜在开源免费、灵活可编程。迁移的关键是把”数据集 / 变量 / 观测”三个概念对上号,剩下就是查表翻译。

工具怎么选

没有最好的工具,只有最合适的场景:

  • 临时查个数、做个小表:Excel,五分钟搞定,没必要写代码。
  • 数据在数据库里、体量大:SQL 先粗筛,pandas 再细处理。
  • 统计方法优先(实验设计、回归诊断):R 的统计生态更全。
  • 要进生产系统、要自动化、要和机器学习衔接:pandas + Python 全家桶。
  • 行业要求合规软件(医药、银行审计):SAS / SPSS 仍是主流,pandas 负责前端数据处理。

选型不是站队,是按场景切换。pandas 的定位是”通用数据处理中枢”,无论走哪条路线,它都是绕不开的一站。

pandas 在 Python 生态中的位置

pandas 不是孤岛,上下游分工明确:

  • NumPy:地基。pandas 的数据底层是 NumPy 数组(§07),学透 NumPy 对理解 pandas 性能很有帮助。
  • matplotlib / seaborn:可视化。pandas 自带基础绘图(§51-52),seaborn 出图更精致。
  • scikit-learn:机器学习。DataFrame 清洗完直接喂模型,get_dummies 编码(§32)。
  • statsmodels:统计建模。回归、时间序列分析,和 pandas 无缝衔接。
  • Polars / DuckDB / Dask:大数据。pandas 放不下时,这些库用类似 API 接棒(§53)。
  • PyArrow:格式与性能底座。Parquet 读写(§15)、字符串存储(§49)都靠它。

一句话:pandas 是 Python 数据分析的中枢,前后端都有人接。这也是它难以被替代的原因。

下一步学什么

54 章学完,你已经掌握:数据读入(§11-16)、清洗(§17-28)、重塑(§29-32)、合并(§33-36)、分组聚合(§37-40)、时间序列(§44-47)、文本与分类(§49-50)、可视化(§51-52)、性能优化(§53)。接下来按兴趣选路线:

  1. 深耕数据分析:学 seaborn 把图出得更专业,学 statsmodels 做统计建模,用真实数据集做 2-3 个完整项目(电商、金融、天气任选)。
  2. 转向数据工程:学 Polars 和 DuckDB 处理更大数据,学 SQL 补数据库短板,学 Airflow 做任务调度。
  3. 走向机器学习:学 scikit-learn 全流程,§32 的编码、§44-48 的时间特征工程直接能用上。
  4. 遇到问题找哪:官方文档的 Cookbook 和 FAQ 是宝藏,Stack Overflow 的 pandas 标签问答质量很高,GitHub 的 pandas 仓库 issue 能看到最新讨论。
Tip

学习路径的核心不是”再多看几章”,而是”拿真实数据跑一遍”。把本教程的代码换个数据集重写,比看十遍教程都有效。pandas 版本迭代快(3.0 就换了字符串类型和默认行为),常看官方文档的更新说明,能少踩很多坑。

结语

pandas 入门教程到这里就结束了。从第一行 import pandas as pd,到处理百万行数据,你已经走完了数据分析师最常用工具的主干。工具会更新,思维不过时——结构化地看数据、系统地清洗数据、有依据地分析数据,这套方法论会陪你很久。去写你的第一个真实项目吧。

上一篇
大数据集与性能优化
下一篇
已经是最后一篇啦