博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
花式索引
阅读量:5287 次
发布时间:2019-06-14

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

花式索引是一个Numpy属于,指的是利用整数数组进行索引。有一个8*4数组。

1 In [37]: arr = np.empty((8,4)) 2  3 In [38]: for i in range(8): 4     ...:     arr[i] = i 5  6 In [39]: arr 7 Out[39]:  8 array([[ 0.,  0.,  0.,  0.], 9        [ 1.,  1.,  1.,  1.],10        [ 2.,  2.,  2.,  2.],11        [ 3.,  3.,  3.,  3.],12        [ 4.,  4.,  4.,  4.],13        [ 5.,  5.,  5.,  5.],14        [ 6.,  6.,  6.,  6.],15        [ 7.,  7.,  7.,  7.]])

为了以特定顺序选取行子元素,只需传入一个用于指定顺序的整数列表或者ndarray即可。

1 In [40]: arr[[4,3,0,6]] 2 Out[40]:  3 array([[ 4.,  4.,  4.,  4.], 4        [ 3.,  3.,  3.,  3.], 5        [ 0.,  0.,  0.,  0.], 6        [ 6.,  6.,  6.,  6.]]) 7  8 In [41]: arr[[-3,-5,-7]] 9 Out[41]: 10 array([[ 5.,  5.,  5.,  5.],11        [ 3.,  3.,  3.,  3.],12        [ 1.,  1.,  1.,  1.]])

一次传入多个索引数组会有一点特别。返回的是一个一维数组,其中的元素对应各个索引元素。

1 In [42]: arr = np.arange(32).reshape((8,4)) 2  3 In [43]: arr 4 Out[43]:  5 array([[ 0,  1,  2,  3], 6        [ 4,  5,  6,  7], 7        [ 8,  9, 10, 11], 8        [12, 13, 14, 15], 9        [16, 17, 18, 19],10        [20, 21, 22, 23],11        [24, 25, 26, 27],12        [28, 29, 30, 31]])13 14 In [44]: arr[[1,5,7,2],[0,3,1,2]]15 Out[44]: array([ 4, 23, 29, 10])

最终选出的是元素(1,0),(5,3),(7,1),(2,2)。

选取矩阵的行列子集应该是矩阵的形式。

1 In [48]: arr[[1,5,7,2]][:,[0,3,1,2]]2 Out[48]: 3 array([[ 4,  7,  5,  6],4        [20, 23, 21, 22],5        [28, 31, 29, 30],6        [ 8, 11,  9, 10]])

花式索引跟切片不一样,是将数据复制到新数组中。

转载于:https://www.cnblogs.com/yu-1104/p/7879564.html

你可能感兴趣的文章
[读码时间] 弹出层效果
查看>>
UVAL 4728 Squares(旋转卡壳)
查看>>
Ordered Fractions usaco
查看>>
web框架的概念
查看>>
Codeforces-733C-Epidemic in Monstropolis&&733D-Kostya the Sculptor(乱搞)
查看>>
HDU-4614-Vases and Flowers(线段树)
查看>>
eclipse——代码折叠快捷
查看>>
移动互联网广告 - 第六更 - 移动广告的作弊方法及反作弊 - 2016/12/07
查看>>
虚拟DOM,真实的JS对象,操作内存中的js对象要比操作DOM节省性能?
查看>>
拓扑排序-hihocoder1175
查看>>
encodeURIComponent与URLDecoder.decode用法
查看>>
LinkedList 和 ArraryList的区别. <java>
查看>>
大数据学习大纲,大数据应该怎么学
查看>>
HTTP协议学习笔记
查看>>
sublime 打开命令窗口监控
查看>>
ubuntu16.04降级内核版本至3.13.0-85
查看>>
Junit中的异常测试
查看>>
九度OJ 1038:Sum of Factorials(阶乘的和) (DP、递归)
查看>>
DRF之分页器组件
查看>>
JS中this的用法
查看>>