如何从numpy 2d数组中提取子数组?

men*_*xyz 22 python arrays numpy

我想从一个numpy 2d数组中提取一个具有指定大小的numpy数组 - 基本上我想裁剪数组.例如,如果有一个像这样的numpy数组:

([1,2,3],
 [4,5,6],
 [7,8,9])
Run Code Online (Sandbox Code Playgroud)

我想从中提取2x2,结果应该是:

([1,2],
 [4,5])
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mik*_*ler 27

给定这个数组:

>>> a
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
Run Code Online (Sandbox Code Playgroud)

您可以沿两个维度对其进行切片:

>>> a[:2,:2]
array([[1, 2],
       [4, 5]])
Run Code Online (Sandbox Code Playgroud)