pandas 处理哪些类型的数据?#

  • 我想开始使用 pandas

    要加载 pandas 包并开始使用它,请导入该包。社区约定 pandas 的别名为 pd,因此在所有 pandas 文档中,将 pandas 加载为 pd 被认为是标准做法。

pandas 数据表表示#

../../_images/01_table_dataframe.svg
  • 我想存储泰坦尼克号的乘客数据。对于一些乘客,我知道他们的姓名(字符)、年龄(整数)和性别(男性/女性)数据。

    要手动将数据存储在表中,请创建 DataFrame。使用列表组成的 Python 字典时,字典键将用作列标题,每个列表中的值将用作 DataFrame 的列。

DataFrame 是一种二维数据结构,可以以列的形式存储不同类型的数据(包括字符、整数、浮点数值、分类数据等)。它类似于电子表格、SQL 表或 R 中的 data.frame

  • 该表包含 3 列,每列都有列标签。列标签分别为“Name”、“Age”和“Sex”。

  • “Name”列由文本数据组成,每个值都是一个字符串,“Age”列是数字,“Sex”列是文本数据。

在电子表格软件中,我们数据的表格表示将非常相似:

../../_images/01_table_spreadsheet.png

DataFrame 中的每一列都是一个 Series#

../../_images/01_table_series.svg
  • 我只对处理“Age”列中的数据感兴趣。

    当选择 pandas DataFrame 的单列时,结果是一个 pandas Series 。要选择列,请在方括号 [] 中使用列标签。

备注

如果您熟悉 Python dictionaries ,则选择单列非常类似于根据键选择字典值。

您也可以从头开始创建一个 Series

pandas Series 没有列标签,因为它只是 DataFrame 的单列。Series 确实有行标签。

对 DataFrame 或 Series 进行操作#

  • 我想知道乘客的最大年龄。

    我们可以在 DataFrame 上通过选择 Age 列并应用 max() 来实现这一点:

    或者对 Series 进行操作:

max() 方法所示,您可以对 DataFrameSeries 进行*操作。pandas 提供了大量功能,每一项都可以作为应用于 ``DataFrame`` 或 ``Series`` 的*方法。方法是函数,所以不要忘记使用括号 ()

  • 我对数据表中数值数据的一些基本统计信息感兴趣。

    describe() 方法提供了 DataFrame 中数值数据的快速概览。由于“Name”和“Sex”列是文本数据,因此默认情况下 describe() 方法不考虑它们。

许多 pandas 操作都返回 DataFrameSeriesdescribe() 方法是返回 pandas Series 或 pandas DataFrame 的 pandas 操作的一个示例。

To user guide

请在用户指南的 aggregations with describe 部分查看有关 describe 的更多选项。

备注

这只是一个起点。与电子表格软件类似,pandas 将数据表示为带有列和行的表。除了表示形式,pandas 还支持您将在电子表格软件中执行的数据操作和计算。继续阅读接下来的教程以开始!

REMEMBER

  • 导入包,即 import pandas as pd

  • 数据表存储在 pandas DataFrame 中。

  • DataFrame 中的每一列都是一个 Series

  • 您可以通过将方法应用于 DataFrameSeries 来执行操作。

To user guide

introduction to data structures 中提供了对 DataFrameSeries 的更详细解释。