Как удалить подмножество двумерного массива?

У меня есть массив 800x800, и я хочу проанализировать только элементы во внешней его части. Мне нужен новый массив без элементов среза [5:-5,5:-5]. Не обязательно возвращать двумерный массив, подойдет и плоский массив или список. Пример:

import numpy

>>> a = numpy.arange(1,10)
array([1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> a.shape = (3,3)
array([[1, 2, 3],
   [4, 5, 6],
   [7, 8, 9]])

Мне нужно отбросить основные элементы, что-то вроде:

del a[1:2,1:2]

Я ожидаю:

array([1, 2, 3, 4, 6, 7, 8, 9])

Я пытался использовать numpy.delete(), но, похоже, он работает для одной оси за раз. Интересно, есть ли более прямой способ сделать это.

6
задан user1470350 20 June 2012 в 20:40
поделиться