Конкатенация np.arrays python - PullRequest
       0

Конкатенация np.arrays python

0 голосов
/ 05 октября 2018

Как мне поступить, если:

a = np.array([[1,2,3],[5,6,7]])

b = np.array([0,1])

Я ищу объединение a и b, поэтому результат будет:

np.array([1,2,3,0],[5,6,7,1])

Большое спасибо

Ответы [ 3 ]

0 голосов
/ 05 октября 2018

Использование numpy трансляция с concatenate

np.concatenate([a,b[:,None]],1)
Out[1053]: 
array([[1, 2, 3, 0],
       [5, 6, 7, 1]])
0 голосов
/ 05 октября 2018

Более умный способ сделать это - избежать вещания и использовать функцию, предназначенную для этого: numpy.column_stack:

np.column_stack([a, b])

array([[1, 2, 3, 0],
       [5, 6, 7, 1]])
0 голосов
/ 05 октября 2018

Проблема заключается в объединении a по горизонтали с b в качестве вектора столбца.

<concat>( |1 2 3|, |0| )
          |5 6 7|  |1|

Объединение может быть выполнено с использованием np.hstack и b можно преобразовать в вектор-столбец, добавив новую ось:

>>> np.hstack([a, b[:, np.newaxis]])
array([[1, 2, 3, 0],
       [5, 6, 7, 1]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...