Преобразование списка в массив и последующее объединение его с другим массивом приводит к ошибке - PullRequest
1 голос
/ 31 января 2020

Я хочу объединить два массива. Первый массив с именем «results_array» раньше был list(1dim), и я использую asarray, чтобы преобразовать его в массив. Это должно привести к массиву с размером (50,1), но на самом деле это приведет к массиву (50,), я не знаю, что это значит. Затем я хотел использовать concatenate для объединения его с другим массивом (по столбцам), array1, который на самом деле имеет размер (50,1).

Это мой код:

results_array=np.asarray(results)
final= np.concatenate((array1, results_array), axis=1)

Тогда я получаю следующее сообщение об ошибке:

ValueError: all the input arrays must have same number of dimensions

Что я могу сделать по этому поводу? Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 31 января 2020

Вместо функции asarray вы можете построить массив с помощью конструктора массива, ie

results_array = np.array([results])
print (results_array.shape)
>>> (1, 50)
1 голос
/ 31 января 2020

вам нужны те же 1D массивы для объединения. Попробуйте .flatten (), чтобы ваш array1 сделал его 1D

results_array=np.asarray(results)
final= np.concatenate((array1.flatten(), results_array))
1 голос
/ 31 января 2020

Ваш массив результатов представляет собой одномерный массив, дающий измерению только один элемент (50,). Если вы хотите объединить, вам нужно изменить форму, чтобы иметь правильные размеры.

final = np.concatenate([array1, results_array.reshape(-1, 1)], axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...