У меня есть 4D массив: array = np.random.rand(3432,1,30,512)
NumPy вставки 2D массив в структуре 4D
У меня также есть 5 наборов 2D массивов с формой (30,512)
хочу, чтобы вставить их в структуру 4D вдоль оси 1, так что моя окончательная форма: (3432,6,30,512)
(5 новых массивов + оригинал 1). Мне нужно итеративно вставить этот набор для каждого из элементов 3432.
Каков наиболее эффективный способ сделать это?
Я пробовал преобразовать 2D в 4D, а затем вставить вдоль оси 1. Я ожидаю, что ось 1 никогда не будет превышать размер 6, но 2D-массивы просто продолжают добавляться, а не набор для каждого из 3432 элемента. Я думаю, что моя проблема заключается в не вполне понимая obj
параметров для insert
метода:
all_data = np.reshape(all_data, (-1, 1, 30, 512))
for i in range(all_data.shape[0]):
num_band = 1
for band in range(5):
temp_trial = np.zeros((30, 512)) # Just an example. values arent actually 0
temp_trial = np.reshape(temp_trial, (1,1,30,512))
all_data = np.insert(all_data, num_band, temp_trial, 1)
num_band += 1
'insert' не предназначен для итеративной работы. Прежде всего убедитесь, что вы понимаете примеры документов. – hpaulj