Конкатенация векторов столбцов с использованием массивов numpy

Я хотел бы объединить векторы столбца с использованием массивов numpy, но поскольку numpy видит все массивы как векторы строк по умолчанию, np.hstack и np.concatenate вдоль любой оси не помогают (и ни np.transpose как ожидалось).

 a = np.array((0, 1)) b = np.array((2, 1)) c = np.array((-1, -1)) np.hstack((a, b, c)) # array([ 0, 1, 2, 1, -1, -1]) ## Noooooo np.reshape(np.hstack((a, b, c)), (2, 3)) # array([[ 0, 1, 2], [ 1, -1, -1]]) ## Reshaping won't help 

Одна из возможностей (но слишком громоздкая)

 np.hstack((a[:, np.newaxis], b[:, np.newaxis], c[:, np.newaxis])) # array([[ 0, 2, -1], [ 1, 1, -1]]) ## 

Есть ли лучшие способы?

2 Solutions collect form web for “Конкатенация векторов столбцов с использованием массивов numpy”

Я считаю, что numpy.column_stack должен делать то, что вы хотите. Пример:

 >>> a = np.array((0, 1)) >>> b = np.array((2, 1)) >>> c = np.array((-1, -1)) >>> numpy.column_stack((a,b,c)) array([[ 0, 2, -1], [ 1, 1, -1]]) 

Он по существу равен

 >>> numpy.vstack((a,b,c)).T 

хоть. Как говорится в документации.

Я попробовал следующее. Надеюсь, это хорошо для того, что вы делаете?

 >>> np.vstack((a,b,c)) array([[ 0, 1], [ 2, 1], [-1, -1]]) >>> np.vstack((a,b,c)).T array([[ 0, 2, -1], [ 1, 1, -1]]) 
  • Понимание синтаксиса объединения numpy.r_ ()
  • Конкатенация Python String и Integer
  • Как конкатенировать видео в фильме?
  • Выделение int для строки в Python
  • Объединение двух одномерных массивов NumPy
  • Большинство питоновских способов конкатенации строк
  • Объединение файлов, присутствующих в .m3u8 в python
  • Как связать логическое значение с строкой в ​​Python?
  • Python - лучший язык программирования в мире.