2016-04-04 18 views
0

2次元numpy配列を整数値でスライスしたいのですが、これを正しく行う方法が見つかりません。私は行列の "境界"をある数の行/列でスライスする必要があります。2次元numpy配列の境界を整数値でスライス

アレイがあると言う:

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

が、私はこのような何かしたい:

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 

私が得るものです助けを

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

感謝を!

+0

下の境界も同様にスライスしますか? – Vasanth

+0

はい、今編集しました。私はすべての罫線をスライスする必要があります。 – Litwos

+1

'[slice_val:-slice_val、slice_val:-slice_val]'です。これはそうだと思う –

答えて

2

使用

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

slice_valによって境界をスライスします。