2016-04-04 19 views
0

Bir 2D numpy dizisini bir tamsayı değerine göre dilimlemek istiyorum, ancak bunu düzgün bir şekilde yapamıyorum. Matrisin "kenarlığını" belirli sayıda satır/sütun ile kesmem gerekiyor.2B numpy dizisinin dilim sınırı tamsayı değeriyle

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 

Ne olsun:

dizidir Say

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

, ama böyle bir şey istiyorum: Yardım için

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

teşekkürler!

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

+0

Alt kenarlığı dilimlemek ister misiniz? – Vasanth

+0

Evet, şimdi düzenledim. Tüm sınırları dilimlemeye ihtiyacım var. – Litwos

+1

'[slice_val: -slice_val, slice_val: -slice_val]'. Bence bu, –

cevap

2

Kullanım slice_val tarafından sınırları dilim.

İlgili konular