2015-02-05 4 views

ответ

2

Согласно documents, описывающей newaxis:

Добавленное измерение является положение объекта newaxis в кортеже выбора.

В вашем примере newaxis находится во второй позиции кортежа, следовательно, там добавляется новое измерение длины 1.

Это аналогично выбору значения по определенному индексу. Для трехмерного A вы должны использовать A[:,0] для получения значения индекса 0 со второй оси, а не третьей оси.

Если вы хотите добавить новую ось в последней позиции кортежа, вы можете написать M[:,:,np.newaxis] или в качестве альтернативы использовать многоточие обозначение:

>>> M[...,np.newaxis].shape 
(3, 2, 1) 
+0

Великого ответ. Я был смущен, потому что я не знал, что второй «,» является необязательным в numpy, в отличие от R. Поэтому я думал, что «np.newaxis» находится в последней позиции вместо второй. – Heisenberg

+0

Без проблем - рад, что это было полезно. –

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