Как увеличить размеры массива numpy int32?
У меня есть массив NumPy int32 с именем a
, который имеет форму (4, 8, 3)
. Я хочу преобразовать этот массив в тот, который имеет размер (4, 12, 3)
. Как мне это сделать?
Я пробовал использовать reshape
, но reshape
требует, чтобы массив был одинакового размера.
1 ответ:
Я могу ошибаться, но: массив numpy не должен мутировать таким образом. Когда вы делаете изменение формы, то на самом деле вы просто меняете порядок/способ чтения байтов / элементов
То, что вы хотите сделать, - это создать новый массив, который больше и содержит данные предыдущего массива плюс другие материалы. Вы должны сказать Numpy, где вы хотите новый материал и где вы хотите старый материал.
То есть:
new_array = np.zeros((4, 12, 3)) new_array[:, :8, :] = old_array
Этот пример добавляет 4 дополнительных "столбца" на Ваш массив в конце второго измерения.