Python Pandas 索引和选择数据
在这一章中,我们将讨论如何对日期进行切片和切块,并大致得到pandas对象的子集。
Python和NumPy的索引操作符”[ ]”和属性操作符”. “提供了对Pandas数据结构的快速和简单的访问,跨越了广泛的使用情况。然而,由于要访问的数据类型并不事先知道,直接使用标准运算符有一些优化限制。对于生产代码,我们建议你利用本章中解释的优化的pandas数据访问方法。
Pandas现在支持三种类型的多轴索引;下表列出了三种类型 −
序号 | 索引和描述 |
---|---|
1 | .loc() 基于标签 |
2 | .iloc() 基于整数 |
3 | .ix() 同时基于标签和整数 |
.loc()
Pandas提供了各种方法来拥有纯粹的 基于标签的索引。 当切分时,起始边界也被包括在内。整数是有效的标签,但它们指的是标签而不是位置。
.loc() 有多种访问方法,比如 –
- 一个单一的标量标签
- 一个标签的列表
- 一个分片对象
- 一个布尔数组
loc 需要两个由’,’分隔的单/列/范围操作符。第一个表示行,第二个表示列。
例子1
其 输出 情况如下—
例子2
其 输出结果 如下 –
示例3
其 输出结果 如下 –
示例4
其 输出结果 如下 –
示例5
其 输出结果 如下 –
.iloc()
Pandas提供了各种方法,以获得纯粹的基于整数的索引。像python和numpy一样,这些是 基于0的 索引。
各种访问方法如下 –
- 一个整数
- 一个整数的列表
- 一个值的范围
例子1
其 输出结果 如下 –
例子2
其 输出结果 如下 –
示例3
其 输出结果 如下 –
.ix()
除了纯粹的基于标签和基于整数的方法,Pandas还提供了一种混合方法,使用.ix()操作符对对象进行选择和子集。
例子1
其 输出结果 如下 –
例子2
其 输出结果 如下 –
记号的使用
从具有多轴索引的Pandas对象中获取数值,使用了以下符号 –
对象 | 索引器 | 返回类型 |
---|---|---|
Series | s.loc[indexer] | 标量值 |
DataFrame | df.loc[row_index,col_index] | 系列对象 |
Panel | p.loc[item_index,main_index,minor_index] | p.loc[item_index,major_index,minor_index]。 |
**注意 – .iloc() & .ix() **应用相同的索引选项和返回值。
现在让我们看看如何在DataFrame对象上执行每个操作。我们将使用基本的索引操作符”[ ]-
例子1
其 输出 情况如下—
注意 - 我们可以向[ ]传递一个数值列表来选择这些列。
例子2
其 输出结果 如下 –
示例3
其 输出结果 如下 –
属性访问
可以使用属性运算符’.’来选择列。
例子
其 输出结果 如下 –