2012-05-03 8 views

답변

5

다차원 배열에서 슬라이싱하기 위해 numpy에서 제공하는 특별한 구문입니다. 일반 구문은 a[s1,s2, ... , sn]입니다. 여기에서 si은 일반적인 분할 또는 인덱싱 시퀀스에 사용되는 표현식이며 i 번째 차원에서 원하는 슬라이스를 정의합니다. 예 : a[5,2:3,1::2].

...은 모든 크기로 전체 슬라이스를 가져 오는 축약 형입니다. 예를 들어 a[...,3]a이 입체 일 경우 a[:,:,3]의 줄임말입니다.

3

실제로는 numpy 표기입니다. numpy에서는 : 슬라이스의 가변 개수에 대한 자리 표시 자로 ... (줄임표)가 사용됩니다. docs에서

:

생략 부호가의 수를 확장 : x.ndim과 같은 길이의 선택 튜플을 만드는 데 필요한 객체. 첫 번째 줄임표 만 확장 된 이고 다른 모든 것은 다음과 같이 해석됩니다.

사용법 :

In : x = numpy.array(range(8)).reshape(2,2,2) 

In : x 
Out: 
array([[[0, 1], 
     [2, 3]], 

     [[4, 5], 
     [6, 7]]]) 

In : x[...,0] 
Out: 
array([[0, 2], 
     [4, 6]]) 

In : x[:,:,0] 
Out: 
array([[0, 2], 
     [4, 6]])