理解NumPy拆分函数提取子网格



所以我的工作表练习如下:

  1. 给定以下25个值的网格,使用split()函数从较大的网格中提取9s的中心3 × 3子网格:

    1 2 3 4 5
    1 9 9 9 5
    1 9 9 9 5
    1 9 9 9 5
    1 2 3 4 5
    

解决方案如下:

x = np.array([[1,2,3,4,5],
[1, 9, 9, 9, 5],
[1, 9, 9, 9, 5],
[1, 9, 9, 9, 5],
[1, 2, 3, 4, 5]])
x1, x2, x3 = np.split(x, [1, 4]) 
y1, y2, y3 = np.split(x2, [1, 4], axis = 1)
print(y2)

我的问题是,为什么括号里是[1,4]?这是否指的是元素号,如果是,它不应该是[1,3]吗?

抱歉,如果这看起来像一个非常简单的问题-我仍然是超级新手编码!!

Thanks in advance:)

In [755]: x = np.array([[1,2,3,4,5],
...:         [1, 9, 9, 9, 5],
...:         [1, 9, 9, 9, 5],
...:         [1, 9, 9, 9, 5],
...:         [1, 2, 3, 4, 5]])

如果你只需要一个块,直接切片:

In [756]: x[1:4,1:4]
Out[756]: 
array([[9, 9, 9],
[9, 9, 9],
[9, 9, 9]])

最新更新