在二维Numpy数组中切片非连续索引

问题描述 投票:3回答:3

我有一个矩阵,即2D numpy数组,希望能够切出它的不连续部分。例如,下面的矩阵

[[11 12 13 14 15]
 [21 22 23 24 25]
 [31 32 33 34 35]
 [41 42 43 44 45]
 [51 52 53 54 55]]

我希望能够提取]

[[11 12 14 15]
 [21 22 24 25]
 [51 52 54 55]]

有没有办法做到这一点?我可以轻松提取连续切片,例如matrix [0:2,0:3]将返回

[[11 12 13]
 [21 22 23]

但不确定如何提取非连续的。我读到有关使用np.r_ []的信息,如果仅在一个维度上使用,而不在两个维度上都使用,则可以使用。

该解决方案必须具有可伸缩性,并且必须用于具有许多非连续索引的大型矩阵(我当时认为这将作为列表传递)。

我有一个矩阵,即2D numpy数组,希望能够切出它的不连续部分。例如,下面的矩阵[[11 12 13 14 15] [21 22 23 24 25] [31 32 33 34 35] [...

python numpy matrix slice
3个回答
3
投票

您可以使用链式索引:


2
投票

[您可以使用NumPy的advanced indexingix_()函数来索引两个一维序列的叉积,第一个包含要提取的行的索引,第二个包含列的索引。


0
投票

您可以这样操作,并且您的列表提示可以完美地与之配合。在删除中,您可以传递列表,而不仅仅是2

© www.soinside.com 2019 - 2024. All rights reserved.