[英]Getting the indexes of a numpy array slice
如何从二维 numpy 数组的切片中获取索引数组? 例如:
array = np.arange(20).reshape(5,4)
section = array[1:,1:]
section.shape
是(4, 3)
。 我想要一个维度(2, 4, 3)
的数组indexes
,第一个轴是array
中section
的每个值的索引。
索引应如下所示:
array([[[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4]],
[[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]]])
需要索引以便我可以修改它,然后使用array[indexes[0], indexes[1]]
索引array
。
我认为这可以通过切片 np.mgrid 来解决......但我不确定如何做到这一点。 还是有更好的解决方案?
使用np.mgrid
:
>>> i,j = array.shape
>>> np.mgrid[1:i,1:j]
array([[[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4]],
[[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]]])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.