Как увеличить размеры массива numpy int32?


У меня есть массив NumPy int32 с именем a, который имеет форму (4, 8, 3). Я хочу преобразовать этот массив в тот, который имеет размер (4, 12, 3). Как мне это сделать?

Я пробовал использовать reshape, но reshape требует, чтобы массив был одинакового размера.

1 2

1 ответ:

Я могу ошибаться, но: массив numpy не должен мутировать таким образом. Когда вы делаете изменение формы, то на самом деле вы просто меняете порядок/способ чтения байтов / элементов

То, что вы хотите сделать, - это создать новый массив, который больше и содержит данные предыдущего массива плюс другие материалы. Вы должны сказать Numpy, где вы хотите новый материал и где вы хотите старый материал.

То есть:

new_array = np.zeros((4, 12, 3))
new_array[:, :8, :] = old_array

Этот пример добавляет 4 дополнительных "столбца" на Ваш массив в конце второго измерения.