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 更详细的解释。