7.3 Pandas 数据操作

原文:Data Manipulation with Pandas

译者:飞龙

协议:CC BY-NC-SA 4.0

本节是《Python 数据科学手册》(Python Data Science Handbook)的摘录。

在前一章中,我们详细介绍了 NumPy 及其ndarray对象,它在 Python 中提供了密集类型数组的高效存储和操作。在这里,通过详细了解 Pandas 库提供的数据结构,我们将构建这些知识。

Pandas 是一个基于 NumPy 构建的新软件包,它提供了高效的DataFrame实现。DataFrame本质上是多维数组,带有附加的行和列标签,通常具有异构类型和/或缺失数据。除了为标记数据提供方便的存储接口外,Pandas 还实现了许多强大数据操作,数据库框架和电子表格程序用户都熟悉它们。

正如我们所看到的,NumPy 的ndarray数据结构为干净,组织良好的数据类型提供了必要的功能,它们通常出现在数值计算任务中。虽然它很好地服务于此目的,但当我们需要更多的灵活性(例如,将标签附加到数据,处理缺失数据等),以及尝试一些操作,它们不能很好地映射到逐元素广播时(例如, 分组,透视等),它的局限性就很明显了。每一项都是分析非结构化数据的重要部分,它以许多形式存在于我们周围的世界中。

Pandas,特别是它的SeriesDataFrame对象,建立在 NumPy 数组结构之上,可以高效访问这些占据数据科学家许多时间的“数据整理”任务。

在本章中,我们将重点介绍有效使用SeriesDataFrame和相关结构的机制。我们将在适当的地方使用从真实数据集中提取的示例,但这些示例不一定是重点。

安装和使用 Pandas

在系统上安装 Pandas 需要安装 NumPy,如果从源代码构建库,则需要使用适当的工具,来编译 C 和 Cython 源,Pandas 构建在它上面。安装的详细信息,请参见 Pandas 文档。如果你遵循了“前言”中所述的建议,并使用 Anaconda 栈,则你已经安装了 Pandas。

安装 Pandas 后,你可以导入它并检查版本:

import pandas
pandas.__version__

# '0.18.1'

正如我们通常在别名np下导入 NumPy 一样,我们将在别名pd下导入 Pandas:

import pandas as pd

此导入约定将在本书的其余部分中使用。

关于内置文档的提示

在阅读本章时,不要忘记 IPython 使你能够快速浏览包的内容(通过使用制表符补全功能)以及各种函数的文档(使用? 字符)。(如果你需要回顾这个,请参阅“IPython 中的帮助和文档”。)

例如,要显示 pandas 命名空间的所有内容,可以键入:

In [3]: pd.<TAB>

要显示 Pandas 的内置文档,你可以使用:

In [4]: pd?

可以在 http://pandas.pydata.org/ 找到更详细的文档以及教程和其他资源。

results matching ""

    No results matching ""