Numpy: объединение многомерных и одномерных массивов

I иметь массив 2x2 numpy:

x = array(([[1,2],[4,5]]))

, который я должен объединить (или сложить, если хотите) с одномерным массивом:

y = array(([3,6]))

, добавив его в конец строк, таким образом создав массив 2x3 numpy, который будет выводить примерно так:

array ([[1, 2, 3], [4, 5, 6]])

теперь предлагаемый метод для этого в руководствах numpy:

hstack((x,y))

однако это не работает, возвращается следующая ошибка:

ValueError: массивы должны иметь одинаковое количество измерений

Единственный возможный обходной путь, по-видимому, заключается в следующем:

hstack((x, array(([y])).T ))

который работает, но выглядит и звучит довольно хакерским. Кажется, нет другого способа транспонировать данный массив, чтобы hstack мог его переварить. Мне было интересно, есть ли более чистый способ сделать это? Разве у numpy не было бы способа угадать, что я хочу сделать?

15
задан levesque 11 November 2010 в 19:26
поделиться