2009-09-10 11 views
21

이것은 내 머리를 한동안 긁어주었습니다. 나는 의도하지 않게 배열을 None으로 잘라 내고 오류가 아닌 다른 것을 얻고있다 (나는 오류를 예상했다). 대신, 여분의 차원을 가진 배열을 반환합니다.NumPy 배열 슬라이스 없음

>>> import numpy 
>>> a = numpy.arange(4).reshape(2,2) 
>>> a 
array([[0, 1], 
     [2, 3]]) 
>>> a[None] 
array([[[0, 1], 
     [2, 3]]]) 

이 동작은 의도적입니까, 부작용입니까? 고의적 인 경우, 그것에 대한 몇 가지 근거가 있습니까?

답변

28

사용하지 않음은 numpy.newaxis을 사용하는 것과 같습니다. 그래, 의도적입니다. 실제로, 그들은 똑같은 것이지만, 물론 newaxis은 더 잘 설명합니다.

The docs

A related SO question.