pandas 处理什么样的数据?#
我想开始使用 pandas
In [1]: import pandas as pd
要加载 pandas 包并开始使用它,请导入该包。社区约定的 pandas 别名是
pd
,因此将 pandas 加载为pd
被认为是所有 pandas 文档中的标准做法。
pandas 数据表表示#
我想存储泰坦尼克号乘客的数据。对于许多乘客,我知道姓名(字符)、年龄(整数)和性别(男/女)数据。
In [2]: df = pd.DataFrame( ...: { ...: "Name": [ ...: "Braund, Mr. Owen Harris", ...: "Allen, Mr. William Henry", ...: "Bonnell, Miss Elizabeth", ...: ], ...: "Age": [22, 35, 58], ...: "Sex": ["male", "male", "female"], ...: } ...: ) ...: In [3]: df Out[3]: Name Age Sex 0 Braund, Mr. Owen Harris 22 male 1 Allen, Mr. William Henry 35 male 2 Bonnell, Miss Elizabeth 58 female
要在表中手动存储数据,请创建一个
DataFrame
。当使用一个 Python 列表字典时,字典键将用作列标题,每个列表中的值将作为DataFrame
的列。
一个 DataFrame
是一个二维的数据结构,可以存储不同类型的数据(包括字符、整数、浮点值、分类数据等)在列中。它类似于电子表格、SQL 表或在 R 中的 data.frame
。
该表有3列,每列都有一个列标签。列标签分别是
Name
、Age
和Sex
。列
Name
由文本数据组成,每个值都是一个字符串,列Age
是数字,列Sex
是文本数据。
在电子表格软件中,我们数据的表格表示看起来非常相似:
DataFrame
中的每一列都是一个 Series
#
我只对处理列
Age
中的数据感兴趣In [4]: df["Age"] Out[4]: 0 22 1 35 2 58 Name: Age, dtype: int64
当选择一个 pandas
DataFrame
的单列时,结果是一个 pandasSeries
。要选择该列,请在方括号[]
中使用列标签。
备注
如果你熟悉 Python 字典,选择单个列与基于键选择字典值非常相似。
你可以从头创建一个 Series
:
In [5]: ages = pd.Series([22, 35, 58], name="Age")
In [6]: ages
Out[6]:
0 22
1 35
2 58
Name: Age, dtype: int64
pandas 的 Series
没有列标签,因为它只是一个 DataFrame
的单列。Series 确实有行标签。
对 DataFrame 或 Series 执行某些操作#
我想知道乘客的最大年龄
我们可以在
DataFrame
上通过选择Age
列并应用max()
来实现这一点:In [7]: df["Age"].max() Out[7]: 58
或者到
Series
:In [8]: ages.max() Out[8]: 58
如 max()
方法所示,你可以对 DataFrame
或 Series
做 事情。pandas 提供了许多功能,每个功能都是一个可以应用于 DataFrame
或 Series
的 方法。由于方法是函数,不要忘记使用括号 ()
。
我对我的数据表的数值数据的一些基本统计数据感兴趣
In [9]: df.describe() Out[9]: Age count 3.000000 mean 38.333333 std 18.230012 min 22.000000 25% 28.500000 50% 35.000000 75% 46.500000 max 58.000000
describe()
方法提供了DataFrame
中数值数据的快速概览。由于Name
和Sex
列是文本数据,这些默认情况下不被describe()
方法考虑。
许多 pandas 操作返回一个 DataFrame
或一个 Series
。describe()
方法是返回 pandas Series
或 pandas DataFrame
的 pandas 操作的一个例子。
在用户指南中关于 使用 describe 进行聚合 的部分查看更多选项。
备注
这只是一个起点。与电子表格软件类似,pandas 将数据表示为一个包含列和行的表格。除了表示之外,您在电子表格软件中进行的数据操作和计算也由 pandas 支持。继续阅读下一个教程以开始学习!
REMEMBER
导入包,即
import pandas as pd
数据表作为 pandas
DataFrame
存储DataFrame
中的每一列都是一个Series
你可以通过在
DataFrame
或Series
上应用方法来完成事情
在 数据结构介绍 页面中提供了对 DataFrame
和 Series
更详细的解释。