按整数值对2D NumPy数组的边界进行切片



我想用整数值对2D NumPy数组进行切片,但我找不到正确的方法。我需要将矩阵的"边界"分割一定数量的行/列。

假设阵列为:

a = np.reshape(np.arange(25),(5,5))
print a
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]
 [20 21 22 23 24]]
slice_val = 1
b = a[:-slice_val,:-slice_val]
print "n", b

我得到的是:

[[ 0  1  2  3]
 [ 5  6  7  8]
 [10 11 12 13]
 [15 16 17 18]]

,但我想要这样的东西:

[[6  7  8 ]
 [11 12 13]
 [16 17 18]]

使用

b = a[slice_val:-slice_val, slice_val:-slice_val]

通过slice_val对边界进行切片。

arr=np.ones(25).reshape(5,5)
arr
slice_of_array=arr[1:4,1:4]
slice_of_array

最新更新