numpy如何排序数组切片索引?

numpy如何排序数组切片索引?,第1张

numpy如何排序数组切片索引

这是(高级)部分索引的情况。有2个索引数组和1个切片

如果索引子空间(由切片对象)分开,则首先广播的索引空间,然后是x的切片子空间。

http://docs.scipy.org/doc/numpy-1.8.1/reference/arrays.indexing.html#advanced-
indexing

先进的索引例如笔记,当

ind_1
ind_2
broadcastable子空间
shape (2,3,4)
是:

但是,x
[:,ind_1,:,ind_2]的形状为(2,3,4,10,30,50),因为在索引子空间中没有明确的放置位置,因此将其固定在开始位置。始终可以使用.transpose()将子空间移动到所需的任何位置。

换句话说,此索引与并不相同

x[:, ind_1][[:,ind_2]
。这两个数组共同 *** 作以定义一个
(2,3,4)
子空间。

在您的示例中,

extract[0,:,np.array([0,1])]
意思是选择一个
(2,)
子空间([0]和[0,1]共同起作用,而不是顺序作用),然后以某种方式将其与中间维度合并。

一个更详细的示例是

extract[[1,0],:,[[0,1],[1,0]]]
,它产生一个
(2,2,8)
数组。这是
(2,2)
第一个维度和最后一个维度以及中间维度的子空间。另一方面,
X[[1,0]][:,:,[[0,1],[1,0]]]
产生一个
(2,8,2,2)
,分别从第一个维度和最后一个维度中进行选择。

关键区别在于索引选择是顺序 *** 作还是联合 *** 作。`[…] […]语法已经可以按顺序 *** 作。高级索引为您提供了一种联合索引的方式。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存