이전 예제에서 train_images[i] 같은 형식으로 첫 번째 축을 따라 특정 숫자를 선택했습니다. 배열에 있는 특정 원소들을 선탟하는 것을 슬라이싱(slicing)이라고 합니다. 넘파이 배열에서 할 수 있는 슬라이싱 연산을 살펴보겠습니다.
다음 예는 11번째에서 101번째까지(101번째는 포함하지 않고) 숫자를 선택하여(90, 28, 28) 크기의 배열을 만듭니다.
>>> my_slice = train_images[10:100]
>>> print(myu_slice.shape)
(90, 28, 28)
동일하지만 조금 더 자세한 표기법은 각 배열의 축을 따라 슬라이싱의 시작 인덱스와 마지막 인텍스를 지정하는 것입니다. :(클론)은 전체 인텍스를 선택합니다.
>>> my_slice = train_images[10:100, :, :] .....이전 예와 동일합니다.
>>> my_slice.shape
(90, 28, 28)
>>> my_slice = train_images[10:1000, 0:28, 0:28] .... 역시 이전과 동일합니다.
>>> my_slice.shape
(90, 28, 28)
일반적으로 각 배열의 축을 따라 어떤 인덱스 사이도 선택할 수 있습니다. 옐르 들어 이미지의 오른쪽 아래 14 * 14 픽셀을 선택하려면 다음과 같이 합니다.
my_slice = train_images[:, 14:, 14:]
음수 인텍스도 사용할 수 있습니다. 파이씬 리스트의 음수 인텍스와 마찬가지로 현재 축의 끈에서 상대적인 위칙를 나타냅니다. 정중앙에 위치한 14 * 14 픽셀 조각을 이미지에서 잘라 내려면 다음과 같이 합니다.
my_slice = train_images[:, 7:-7, 7:-7]
댓글 없음:
댓글 쓰기