Предположим, у меня есть массив, как:Как пропустить один элемент в Numpy массиве
from numpy import array
a = array([[[1,2,3]]])
Как я могу сделать прямо индексирование, чтобы получить массив вида, как:
array([[[1,3]]])
Предположим, у меня есть массив, как:Как пропустить один элемент в Numpy массиве
from numpy import array
a = array([[[1,2,3]]])
Как я могу сделать прямо индексирование, чтобы получить массив вида, как:
array([[[1,3]]])
Ok,
Только что нашел решение.
b=range(3)
b.remove(1)
a[:,:, b]
Функция np.delete
. В отличие от списка remove
он не действует на месте. Вместо этого он возвращает новый массив. И как ваше простое решение, он генерирует индекс, содержащий элементы для хранения (просто делает это для более общих условий).
In [1222]: np.delete(a,1,-1)
Out[1222]: array([[[1, 3]]])
delete
код довольно длинный, но чистый Python. Так что это может быть поучительное чтение.
благодарит за информацию. –