2016-09-20 4 views
0

Как вы добавляете массив к массиву в numpy?Как добавить массив в массив в numpy?

Мой код

na = np.append(na , b, axis = 0) 

где

na = np.array([], dtype=float) 
b = [1,2,3,4] 

выход: [1,2,3,4]

Want: [[1,2,3,4]]

+0

c = np.atleast_2d (b) плюс проверить многие методы, предлагаемые в разделе «Связанный» справа на боковой панели вашего вопроса – NaN

ответ

1

Существует одна базовая функция для соединения одного массива с другим, np.concatenate, и установите, что некоторые типы конкатенаций немного легче (но не более), vstack, hstack, column_stack, stack, append. Прочтите их документы.

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

Вот один из способов получения вашей цели с вашего b (который effectly (4,) массива (проверка np.array(b).shape):

In [460]: na=np.zeros((0,4),int) 
In [461]: np.vstack((na, [1,2,3,4])) 
Out[461]: array([[1, 2, 3, 4]]) 

В результате (1,4) массива Вы могли произвести, что без конкатенации

.
In [466]: np.atleast_2d(b) 
Out[466]: array([[1, 2, 3, 4]]) 

Изучите форму и размеры еще немного, и играйте с базовым concatenate. Заманчиво перейти на использование append или один stack без понимания основных вопросов.

Смежные вопросы