Сохранение размеров части от Numpy 3-й массив

У меня есть 3-й массив, a, из формы говорят a.shape = (10, 10, 10)

При разрезании размеры squeezed автоматически т.е.

a[:,:,5].shape = (10, 10)

Я хотел бы сохранить количество размеров, но также и гарантировать, что размер, который был сжат, является тем, который показывает 1 т.е.

a[:,:,5].shape = (10, 10, 1)

Я думал о переделке массива и передаче ndmin но это просто добавляет дополнительные размеры к запуску кортежа формы независимо от того, куда часть прибыла из в массиве a.

8
задан Brendan 14 April 2010 в 20:48
поделиться

1 ответ

a[:,:,[5]].shape
# (10,10,1)

a [:,:, 5] - это пример базовой нарезки .

a [:,:, [5]] - это пример индексации целочисленного массива - в сочетании с базовой нарезкой . При использовании индексации целочисленного массива результирующая форма всегда «идентична (широковещательной) форме индексирующего массива» . Поскольку [5] (как массив) имеет форму (1,) , a [:,:, [5]] в конечном итоге имеет форму (10,10,1) .

13
ответ дан 5 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: