《深度学习与图像识别:原理与实践》—2.3.10 FancyIndexing
【摘要】 本节书摘来自华章计算机《深度学习与图像识别:原理与实践》一书中的第2章,第2.3.10节,作者是魏溪含 涂铭 张修鹏。
2.3.10 FancyIndexing
要索引向量中的一个值是比较容易的,比如通过x[0]来取值。但是,如果想要更复杂地取数,比如,需要返回第3个、第5个以及第8个元素时,应该怎么办?示例代码如下:
import numpy as np
x = np.arange(15)
ind = [3,5,8]
print(x[ind]) #使用fancyindexing就可以解决这个问题
我们也可以从一维向量中构成新的二维矩阵,示例代码如下:
import numpy as np
x = np.arange(15)
np.random.shuffle(x)
ind = np.array([[0,2],[1,3]]) #第一行需要取x向量中索引为0的元素,以及索引为2的元素,
第二行需要取x向量中索引为1的元素以及索引为3的元素
print(x)
print(x[ind])
我们来看下输出结果很容易就能明白了:
[ 3 2 7 12 9 13 11 14 10 5 4 1 6 8 0]
[[ 3 7]
[ 2 12]]
对于二维矩阵,我们使用fancyindexing取数也是比较容易的,示例代码如下:
import numpy as np
x = np.arange(16)
X = x.reshape(4,-1)
row = np.array([0,1,2])
col = np.array([1,2,3])
print(X[row,col]) #相当于取三个点,分别是(0,1),(1,2),(2,3)
print(X[1:3,col]) #相当于取第2、3行,以及需要的列
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)