Numpy: подписка внешнего измерения в многомерном массиве - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю с несколькими многомерными массивами.Давайте рассмотрим фиктивный пример для простоты:

 array_list=[np.ones(3), np.ones((3,3,3)), np.ones((3,3)), np.ones(3)]

Мне нужно подписать самое внешнее измерение каждого массива в списке.Например, моя цель состоит в том, чтобы установить некоторые элементы на ноль в соответствии с указанным диапазоном во внешнем измерении:

array_list[0][0:2]=0
array_list[1][:,:,0:2]=0
array_list[2][:,0:2]=0
array_list[3][0:2]=0

В моем реальном приложении я не знаю, сколько у меня массивов и сколькоизмерения там.

Я хотел бы выполнить задачу в цикле for:

for array in array_list:
    array[???]=0

Но я пытаюсь реализовать это, если не знаю размерности каждого из них.массив.

1 Ответ

0 голосов
/ 12 сентября 2018

Используйте Многоточие , чтобы выбрать все размеры, кроме последнего (если есть только 1, ничего не выбрано).

for array in array_list:
    array[..., 0:2] = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...