按整数值切片二维 NumPy 数组的边界
Slice border of 2D NumPy array by integer value
我想按整数值对 2D NumPy 数组进行切片,但找不到正确执行此操作的方法。我需要将矩阵的 "border" 切成一定数量的 rows/columns.
假设数组是:
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
我想按整数值对 2D NumPy 数组进行切片,但找不到正确执行此操作的方法。我需要将矩阵的 "border" 切成一定数量的 rows/columns.
假设数组是:
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