Итак, я знаю, как объединить 2 2-мерных массива в 3D. Я сделал что-то вроде этого:
a = np.arange(25).reshape(5,5)
b = np.arange(26,51).reshape(5,5)
c = np.stack((a,b))
Это, кажется, работает нормально. Проблема в том, что мне нужно перебрать все al oop, чтобы сложить несколько двумерных массивов, и мне нужно ввести количество таких двумерных массивов (т. Е. # Неизвестно).
Итак, я сделал:
t = np.array([]).reshape(0,5,5)
t = np.stack((t,a)) #loop over each 2d array represented by a
Я получаю эту ошибку:
ValueError Traceback (последний последний вызов) в ----> 1 t = np.stack ((t, a))
<<strong> функция массива внутренние компоненты> в стеке (* args, ** kwargs)
~ / anaconda3 / envs / pytorch / lib / python3 .7 / site-packages / numpy /core/shape_base.py в стеке (массивы, ось, выход) 423 фигур = {arr.shape для массивов в массивах} 424, если len (фигур)! = 1: -> 425 повысить ValueError ('все входные массивы должны иметь одинаковая форма ') 426 427 result_ndim = arrays [0] .ndim + 1
ValueError: все входные массивы должны иметь одинаковую форму
Есть предложения, пожалуйста? Спасибо!