首页 / Pandas 入门教程 / Pandas 简介与生态

Pandas 入门教程

Pandas 简介与生态

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

PandasPandas 入门教程数据分析DataFrameNumPyPython 库

本节目标:搞清楚 pandas 是什么、为什么大家都在用、它和 NumPy/Excel/SQL 是什么关系,以及去哪里找官方资料。

pandas 是什么

pandas 是 Python 生态里最流行的数据分析库,开源免费,采用 BSD 许可证。它由 Wes McKinney 于 2008 年在量化投资公司 AQR 工作时创建。最初的动机就是处理金融时间序列数据。名字是 “panel data”(面板数据)和 “Python data analysis” 的合写。

pandas 现在是 NumFOCUS 赞助的项目,由全球社区共同维护,GitHub 上有几千名贡献者。发展十几年,它已经成了 Python 数据科学的事实标准。装数据分析环境,pandas 几乎是必装项。

一句话定义:pandas 提供高性能、易用的数据结构和数据分析工具,专攻「表格型」结构化数据。官方文档的目标是让它成为任何语言里最强大、最灵活的开源数据分析工具。

两大核心数据结构

pandas 有两大核心数据结构:

  • Series:一维带标签数组,可以理解为一列带名字的数据
  • DataFrame:二维带标签表格,行和列都有标签,是日常使用频率最高的对象

打个比方:DataFrame 就像一张带表头的电子表格,Series 就是其中的一列。本教程 §05、§06 会专门讲它们。

为什么是这两种结构?因为一维的「列」和二维的「表」覆盖了绝大多数表格数据场景。三维或更高维的数据,pandas 用多级索引(MultiIndex)表达,或者交给 xarray 库,这个在第 22 章会提到。

pandas 擅长什么

官方文档列举了不少强项,挑几个常用的说:

  • 缺失值处理:用 NaN 标记缺失,填充、删除有一套完整方案
  • 数据对齐:不同索引的两个对象做运算,自动按标签对齐
  • 分组聚合:groupby 实现 split-apply-combine,一行代码按组统计
  • 合并连接:像 SQL 一样 joinmerge 多张表
  • 重塑变形:pivotmeltstack 等操作改变表格结构
  • 时间序列:日期范围生成、重采样、移动窗口,金融场景的看家本领
  • IO 全家桶:CSV、Excel、JSON、SQL、Parquet 等格式一行读写

底层大量算法用 Cython 优化,速度比纯 Python 循环快得多。

pandas 不擅长什么

工具都有边界,pandas 也明确自己不做的事:

  • 复杂可视化:自带基础的 plot 接口,复杂图表交给 matplotlib、seaborn
  • 分布式计算:默认单机内存处理,超大数据集请用 Dask、Polars 等
  • 数据库职责:数据存在内存里,不负责持久化存储

知道边界,选型时就不会拿错工具。

与 NumPy 的关系

pandas 构建在 NumPy 之上。NumPy 提供多维数组 ndarray 和向量化运算,pandas 的每一列底层就是一个 NumPy 数组。

两者最大的区别:NumPy 数组整个只有一个 dtype,而 pandas 每列可以有各自的类型。大多数 NumPy 函数可以直接作用于 Series 和 DataFrame,比如 np.exp(df)

简单说:NumPy 是「数组计算」,pandas 是「表格操作」,pandas 用 NumPy 打底。

与 Excel 的对比

Excel 人人会用,但有几个天生短板:难以自动化、结果难以复现、数据量一大就卡、没法嵌入程序流程。

pandas 恰好补上这些:写一次代码可反复执行,处理百万行也不在话下,还能和爬虫、数据库、机器学习流水线无缝衔接。Excel 适合随手看数据,pandas 适合正经处理数据。

从 Excel 转过来的人,比较大的不适应是「看不到表」:数据存在变量里,要 print 或放到 Jupyter 里才能看见。适应之后你会发现,所有操作都能用文字描述、可复查,比鼠标点来点去踏实得多。

与 SQL 的对比

SQL 里的表、SELECTWHEREGROUP BYJOIN,在 pandas 里都有对应物:DataFrame、选列、布尔筛选、groupbymerge。概念高度相通,SQL 熟练的人学 pandas 会很快。

区别在于运行位置:SQL 在数据库服务器上处理数据,pandas 把数据读进内存处理。大数据量用 SQL,交互式探索和建模前的清洗用 pandas,两者经常配合使用。

在 Python 生态中的位置

数据科学常用组合是「NumPy + pandas + matplotlib」:NumPy 管数组计算,pandas 管表格数据,matplotlib 管画图。再往上,scikit-learn 做机器学习、statsmodels 做统计建模,而 statsmodels 直接依赖 pandas。

所以 pandas 处于中间层:数据进来先经过它清洗整理,再交给上层建模或可视化。学数据分析,pandas 是绕不开的一环。

适用场景

pandas 的应用面非常广:

  • 金融:行情、交易、回测数据
  • 科研:实验数据、观测数据的清洗分析
  • 电商与运营:销售数据、用户行为分析
  • 统计与社科:问卷调查、面板数据
  • 机器学习:特征工程的预处理环节几乎离不开它

举个小例子:电商运营每天导出订单 CSV,用 pandas 读入,按商品分组求销售额,再排个序,10 行代码出一份日报。这种事在 Excel 里要做半小时,还容易出错。

本书的学习路径

本教程共 54 章,按难度梯度组织,前几站是这样:

  1. 环境搭建与快速上手(02-03 章)
  2. 核心数据结构:Series、DataFrame、类型体系(05-07 章)
  3. 数据读写:CSV、Excel、SQL 等(11 章起)
  4. 数据选择、清洗、合并、分组聚合
  5. 时间序列、文本、可视化、性能优化

先会造表和读文件,再学选择和清洗,再上聚合与建模。

官方资源

本教程以 pandas 3.0.5(2026-07-22 发布)为基线。

遇到报错先做两件事:看报错信息,再确认你查的资料和你的版本对得上。网上大量教程还停留在 1.x、2.x 时代,个别写法在 3.0 已经变了,本教程会在相关章节专门提醒。

先留个印象,pandas 的代码长这样:

import pandas as pd

# 用字典直接造一张表:列名 -> 数据
df = pd.DataFrame({
    "月份": ["1月", "2月", "3月"],
    "销售额": [120, 150, 130],
})

# 整列求平均,不用写循环
print(df["销售额"].mean())

小结

  • pandas 是表格数据分析的事实标准,核心是 Series 和 DataFrame
  • 它和 NumPy(数组)、Excel(手工表格)、SQL(数据库表)各有分工
  • 知道它的边界和资源,下一步动手装环境

学习建议:别只看文档,跟着教程把代码亲手敲一遍。装环境是第一步,下一章就带你搞定。

上一篇
已经是第一篇啦
下一篇
安装与环境搭建