从 Python 中的一个非常大的 numpy ndarray 中获取一个 3*3 子集矩阵

Taking a 3*3 subset matrix from from a really large numpy ndarray in Python

我正在尝试从一个非常大的 400 x 500 numpy ndarray 中提取一个 3*3 的子集。但是由于某种原因,我没有得到想要的结果。而是将前三行作为一个整体。

这是我写的代码。

subset_matrix = mat[0:3][0:3]

但这就是我在 Jupyter Notebook 的输出中得到的结果

array([[91, 88, 87, ..., 66, 75, 82],
       [91, 89, 88, ..., 68, 78, 84],
       [91, 89, 89, ..., 72, 80, 87]], dtype=uint8)

mat[0:3][0:3] 将二维数组的0轴切片两次,等价于mat[0:3]。你需要的是 mat[0:3,0:3].