Объединение 2-мерных массивов в 3-ю ошибку инициализации - PullRequest
0 голосов
/ 21 февраля 2020

Итак, я знаю, как объединить 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: все входные массивы должны иметь одинаковую форму

Есть предложения, пожалуйста? Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2020

Nevermind. Я сделал это:

data = np.empty((0,25))
data = np.vstack((data,one_row(random.randint(1, 3)))) #one_row returns a 1d array
input_data = np.reshape(input_data,(num_samples,5,5))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...