Как я понял, вы хотите сгенерировать трехмерный массив:
- первый «слой», заполненный единицами,
- второй «слой», заполненный нулями,
- третий «слой» снова заполнен единицами,
- все «слои» с размером 100 * 100.
Для удобства чтения я изменил ваши предположения:
- третий «слой», заполненный 2 ,
- всеми «слоями» с размером 5 * 5.
Шаг 1 : Создайте каждый двумерный массив (слой в целевом массиве):
arr1 = np.ones((5,5), dtype=np.int)
arr2 = np.zeros((5,5), dtype=np.int)
arr3 = np.full((5,5), 2)
Шаг 2. Создайте целевой массив:
res = np.stack((arr1, arr2, arr3), axis=2)
При печати res.shape , вы получите:
(5, 5, 3)
(5 строк, 5 столбцов, 3 слоя)
Чтобы увидеть каждый «слой» отдельно, запустите res[:, :, n]
где n это либо 0 , 1 или 2 . Например, за n == 2 (последний слой) я получил:
array([[2, 2, 2, 2, 2],
[2, 2, 2, 2, 2],
[2, 2, 2, 2, 2],
[2, 2, 2, 2, 2],
[2, 2, 2, 2, 2]])