10分钟
[ ] 操作符1
1. 对于Index
对象,可以通过[]
来选取数据,它类似于一维ndarray
的索引。下标可以为下列几种下标对象:
- 一个整数下标。此时返回对应的
label
- 一个整数
slice
。此时返回对应的Index
(根据一维labels
先切片,再组装成Index
) - 一个
array-like
对象(元素可以为下标或者布尔值)。此时返回对应的Index
。(根据一维labels
先索引,再组装成Index
) - 由
None
组成的二元组,其中None
相当于新建一个轴。- 如果
None
为第一个元素,则新建的轴为 0 轴; - 如果
None
为第二个元素,则新建的轴为 1 轴。 - 另外
idx[None]
等价于idx[None,:]
,但是idx[None]
返回的是ndarray
。 - 它并没有将
Index
转换成MultiIndex
,只是将Index
内部的数据数组扩充了一个轴
- 如果
Index 的索引只支持整数/整数
slice
/整数序列/布尔序列/整数数组/布尔数组/None 等。
2. 对于Series
对象,可以通过[]
来选取数据,它类似于一维ndarray
的索引。下标可以为下列几种下标对象:
- 一个整数下标/一个属性(属性名为某个
label
)/字典索引(键为label
):返回对应的数值 - 一个整数切片/一个
label
切片:返回对应的Series
。(根据一维Series
先切片,再组装成Series
)。注意:label
切片同时包含了起始label
和终止label
- 一个整数
array-like
/一个label array-like
/一个布尔ndarray
:返回对应的Series
。(根据一维Series
先索引,再组装成Series
) - 一个二维整数
array-like
/二维label array-like
:返回对应值组成的二维ndarray
注意:Series
必须使用布尔数组来索引,不支持布尔序列来索引(抛出KeyError
异常)。
3. 对于DataFrame
对象,可以通过[]
来选取数据。下标可以为下列几种下标对象:
- 一个属性(属性名为某个
column label
)/字典索引(键为column label
):返回对应的列对应的Series
不可以使用单个整数来索引 - 一个整数切片/一个
row label
切片:返回对应的行组成的DataFrame
。注意:label
切片同时包含了起始label
和终止label
- 一个一维
label array-like
:返回对应的列组成的DataFrame
- 一个布尔数组:返回数组中
True
对应的行组成的DataFrame
。 - 一个布尔
DataFrame
:将该布尔DataFrame
中的False
对应的元素设置为NaN
(布尔DataFrame
中没有出现的值为False
)
4. Series
对象除了支持使用位置作为下标存取元素之外,还可以使用索引标签来存取元素。这个功能与字典类似,因此它也支持字典的一些方法,如Series.iteritems()
。
5. 对于Series/DataFrame
切片方式的索引,返回的结果与原始对象共享基础数据。对于采用其他方式的索引,返回的结果并不与元素对象共享基础数据。
学员评价