Skip to content

Python Pandas - 简介

Pandas 是一个基础的开源 Python 库,专为高性能数据处理、分析和清洗而设计。它构建在 NumPy 之上,提供了强大、富有表现力和灵活的数据结构,使得处理“关系型”或“带标签的”数据变得既简单又直观。

Pandas 最初由 Wes McKinney 于 2008 年开发,旨在满足 Python 中对强大数据分析工具的需求。它现已成为 Python 数据科学生态系统的基石(通常与 NumPy、SciPy、Matplotlib、Scikit-learn 等一起被称为 PyData stack)。“Pandas”这个名字来源于“Panel Data”(面板数据),这是一个计量经济学术语,指代多维数据集。

在 Pandas 出现之前,Python 虽然能够进行数据准备和处理任务,但缺乏用于高效分析和建模结构化数据的全面工具。Pandas 填补了这一空白,使得可以在 Python 中完成整个数据分析流程的工作流:加载、准备、清洗、转换、合并、重塑、可视化和分析数据。

如今,Pandas 在众多领域不可或缺,包括金融、经济学、统计学、社会科学、工程学、学术研究和商业分析等。

  • Series: 一维带标签数组,能够存储任何类型的数据(整数、字符串、浮点数、Python 对象等)。可以将其视为电子表格中的单列,或带有有序索引的字典。
  • DataFrame: 二维带标签数据结构,列可以是不同的类型。它是最常用的 Pandas 对象,类似于电子表格、SQL 表或 Series 对象的字典。它既有行索引也有列索引。

(注意:较旧的用于 3D 数据的 Panel 结构已被弃用并移除;现在通常使用 MultiIndex DataFrame 来处理多维数据)。

  • 高效的 DataFrame 对象: 快速且内存高效的 DataFrame,具有可定制的索引。
  • 数据 I/O: 便于在内存数据结构和各种文件格式(CSV、Excel、JSON、SQL 数据库、HDF5、Parquet 等)之间读写数据的工具。
  • 数据对齐与缺失数据处理: 基于标签进行计算时,数据能够直观地对齐,并提供了集成、灵活的缺失数据 (NaN) 处理机制。
  • 重塑与透视: 灵活地重塑、透视(例如 pivot_table)、堆叠(stack)和取消堆叠(unstack)数据集。
  • 强大的索引: 基于标签切片 (.loc)、基于整数位置切片 (.iloc),以及大型数据集的索引和子集选择。
  • 可变性: 可以对数据结构中的列进行插入和删除操作。
  • Group By 引擎: 强大的 groupby 功能,用于对数据集执行分块-应用-合并(split-apply-combine)操作(聚合、转换、过滤)。
  • 合并与连接: 高性能、类似于 SQL 的数据集合并和连接 (merge, join, concat)。
  • 时间序列功能: 处理时间序列数据的强大工具:日期范围生成、频率转换、移动窗口统计、日期移动和滞后。
  • 向量化操作: 优化后的操作,可一次性处理整个 Series 或 DataFrame,相比逐元素循环具有显著的速度优势。
  • 集成: 与 PyData 生态系统中其他库的无缝集成。