博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Python数据分析》一2.8 花式索引
阅读量:6329 次
发布时间:2019-06-22

本文共 770 字,大约阅读时间需要 2 分钟。

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

2.8 花式索引

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

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

import scipy.miscimport matplotlib.pyplot as pltlena = scipy.misc.lena()xmax = lena.shape[0]ymax = lena.shape[1]lena[range(xmax), range(ymax)] = 0lena[range(xmax-1,-1,-1), range(ymax)] = 0plt.imshow(lena)plt.show()

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

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

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

lena[range(xmax), range(ymax)] = 0

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

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

lena[range(xmax-1,-1,-1), range(ymax)] = 0

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

3b7a9ef42d5acb7078efd479a74a03f8db142315

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

(1)创建迭代器对象。

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

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

转载地址:http://hfzoa.baihongyu.com/

你可能感兴趣的文章
Linux启动分析(2)— bootsect.S、setup.S、head.S分析
查看>>
自学java时的笔记(一)
查看>>
Qt之文本编辑器(二)
查看>>
python编译时检查语法错误
查看>>
考题纠错2
查看>>
SQL——索引
查看>>
Python新手快速入门教程-基础语法
查看>>
JVM性能调优入门
查看>>
关于raid的基本原理、软raid的实现演示
查看>>
科技企业的幕后推手,人工智能究竟有何魔力
查看>>
详解Oracle临时表的几种用法及意义
查看>>
HTML(七)------ 表格
查看>>
如何成为一个设计师和程序员混合型人才
查看>>
unable to load selinux policy. machine is in enforcing
查看>>
2015年10月23日作业
查看>>
MySQL5.7 加强了root用户登录安全性
查看>>
CentOS 6.3_Nagios安装配置与登录
查看>>
加强型的记录集权限(数据集权限、约束表达式设置功能)实现方法界面参考...
查看>>
Linux 内存机制
查看>>
linux下定时任务
查看>>