在numpy中,如何选择二维数组的子集?

时间:2014-07-03 08:49:43

标签: arrays numpy

我有一个二维,416 * 416阵列,我想把它缩小到左上角,制作一个387 * 387阵列。对于我的生活,我无法弄清楚如何做到这一点。

我尝试了数组[范围(387),范围(387)]和掩蔽的变体,但没有任何效果。

1 个答案:

答案 0 :(得分:1)

这就是你要找的东西:

A[:387, :387]

但你尝试了什么:

A[range(387), range(387)]

应该也可以。 (虽然在简单的情况下,简单的拼接通常更清晰,更有效。)

只是一个代码示例,供您考虑可能出现的问题(即代码可能存在其他问题):

import numpy as np

# create an array (shape 10 x 8)
A = np.arange(80).reshape(10,8)

# create a smaller array (5x4) of the top left corner
B = A[:5,:4]