天天看点

《Python数据分析》一2.8 花式索引

本节书摘来自异步社区《python数据分析》一书中的第2章,第2.8节,作者【印尼】ivan idris,更多章节内容可以访问云栖社区“异步社区”公众号查看

花式索引是一种传统的索引方法,它不使用整数或者切片。这里,我们将利用花式索引把莱娜照片对角线上的值全部置0,相当于沿着两条交叉的对角线画两条黑线。

为节约版面,下面代码中的注释已经删除,完整的代码请参考本书代码包中的fancy.py文件:

下面对上述代码进行简单说明。

1.将第一条对角线上的值设为0。

为了给对角线上的值置0,需要给x和y值(直角坐标系中的坐标)规定两个不同的范围:

2.将另一条对角线上的值设为0。

要设置另一条对角线上的值,需要规定两个不同的取值范围,但是规则不变:

划掉相片对角线后,最后得到图2-5所示的效果。

《Python数据分析》一2.8 花式索引

我们给x和y规定了不同的取值范围,这些范围用来索引莱娜数组。花式索引是在一个内部的numpy迭代器对象的基础上实现的,分3步完成。

(1)创建迭代器对象。

(2)将迭代器对象绑定到数组。

(3)经由迭代器访问数组元素,利用位置列表进行索引。