У меня есть 3-й массив, a
, из формы говорят a.shape = (10, 10, 10)
При разрезании размеры squeezed
автоматически т.е.
a[:,:,5].shape = (10, 10)
Я хотел бы сохранить количество размеров, но также и гарантировать, что размер, который был сжат, является тем, который показывает 1 т.е.
a[:,:,5].shape = (10, 10, 1)
Я думал о переделке массива и передаче ndmin
но это просто добавляет дополнительные размеры к запуску кортежа формы независимо от того, куда часть прибыла из в массиве a
.
a[:,:,[5]].shape
# (10,10,1)
a [:,:, 5]
- это пример базовой нарезки .
a [:,:, [5]]
- это пример индексации целочисленного массива - в сочетании с базовой нарезкой . При использовании индексации целочисленного массива результирующая форма всегда «идентична (широковещательной) форме индексирующего массива» . Поскольку [5]
(как массив) имеет форму (1,)
,
a [:,:, [5]]
в конечном итоге имеет форму (10,10,1)
.