Как увеличить размеры массива 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 дополнительных "столбца" на Ваш массив в конце второго измерения.