首页 > 编程笔记

Pandas是什么

Pandas 是 Python 数据分析的利器,也是各种数据建模的基本工具。Pandas 最初被应用于金融量化交易领域,现在它的应用领域更加广泛,涵盖了工业、农业、交通等许多行业。

Pandas 是 Python 基于 NumPy 和 Matplotlib 的第三方数据分析库,与后两者一起构成了 Python 数据分析的基础工具程序包,有 Python 数据分析“三剑客”之称。

Pandas的主要数据结构

Pandas 的主要数据结构有两种,分别是 Series 与 DataFrame。

Series 是一维数组,与 NumPy 中的一维 Array 类似。二者与 Python 的基本数据结构 List 也很相近,其区别是:List 中可以存储不同的数据类型,而 Array 和 Series 中只允许存储相同的数据类型,这样可以更有效地使用内存,提高运算效率。

DataFrame 是二维数组,非常接近 Excel 电子表格或者类似 MySQL 数据库的形式。它的竖行称为列(columns),横行称为行(index),也就是说数据的位置是通过 columns 和 index 来确定的。可以将 DataFrame 理解为 Series 的容器。

这两种数据结构可以处理金融、统计、社会科学、工程等领域里的绝大多数数据。

Pandas的优势

Pandas 主要面向数据处理与分析,其优势主要表现在 7 个方面,具体如下。
  1. 相比 NumPy 仅支持数字索引,Pandas 的两种数据结构均支持标签索引,所以 Pandas 具有便捷的数据读写操作功能。
  2. 类比 SQL 的 join 和 groupby 功能,Pandas 可以很容易实现这两个核心功能,实际上,SQL 的绝大部分操作在 Pandas 中都可以实现。
  3. 类比 Excel 的数据透视表功能,Excel 中最为强大的数据分析工具之一是数据透视表,这在 Pandas 中也可轻松实现。
  4. 自带正则表达式的字符串向量化操作,可以对 Pandas 中的一列字符串进行函数操作。
  5. Pandas 具有丰富的时间序列向量化处理接口。
  6. Pandas 具有常用的数据分析与统计功能,包括基本统计量、分组统计分析等。
  7. Pandas 集成 Matplotlib 的常用可视化接口,无论是 Series 还是 DataFrame,均支持面向对象的绘图接口。

正是基于这些强大的数据分析与处理能力,Pandas 还有数据处理“瑞士军刀”的美称。

推荐阅读