728x90
파이썬 / 넘파이 슬라이싱 완전 정리
1. 슬라이싱 기본 구조
[시작:끝:간격]
- 시작: 어디서부터 가져올지 (포함)
- 끝: 어디까지 가져올지 (끝 인덱스는 포함하지 않음)
- 간격: 몇 칸씩 건너뛸지 (생략하면 1칸씩)
2. 1차원 배열(리스트) 슬라이싱 예시
arr = [0, 1, 2, 3, 4, 5]
arr[1:4] | [1, 2, 3] | 1번 인덱스부터 3번까지 가져오기 |
arr[:3] | [0, 1, 2] | 처음부터 2번까지 가져오기 |
arr[2:] | [2, 3, 4, 5] | 2번부터 끝까지 가져오기 |
arr[::2] | [0, 2, 4] | 2칸씩 건너뛰며 가져오기 |
arr[::-1] | [5, 4, 3, 2, 1, 0] | 역순으로 가져오기 |
3. 2차원 배열(넘파이 배열) 슬라이싱 예시
import numpy as np
arr = np.array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
arr[0, :] | [1 2 3 4] | 0번째 행 전체 가져오기 |
arr[:, 0] | [1 5 9 13] | 0번째 열 전체 가져오기 |
arr[1:3, 1:3] | [[6 7], [10 11]] | (1,1)~(2,2) 블록 가져오기 |
arr[::2, ::2] | [[1 3], [9 11]] | 행과 열 모두 2칸씩 건너뛰기 |
4. 그림으로 이해하는 2차원 슬라이싱
arr =
[[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]
ex) arr[1:3, 1:3]
[[ 6 7]
[10 11]]
5. 2차원 슬라이싱 기억 꿀팁 ✏️
패턴 의미
[:] | 전체 다 선택하기 |
[start:end] | 시작~끝 바로 전까지 선택하기 |
[::간격] | 간격만큼 띄워서 선택하기 |
[행 슬라이싱, 열 슬라이싱] | 행과 열을 동시에 슬라이싱 |
✅ 한줄 요약
1차원 슬라이싱은 부분 리스트를 가져오고,
2차원 슬라이싱은 행과 열을 동시에 잘라낸다!
🎯 추가 꿀팁 (넘파이)
- 행 기준 슬라이싱만: arr[1::2]
- 열 기준 슬라이싱만: arr[:, 1::2]
- 행과 열 동시에: arr[::2, ::2]
- 역순 슬라이싱: arr[::-1, ::-1]
728x90
'Data > Bigdata' 카테고리의 다른 글
[Bigdata] 5. 맷플롯립 알아보기 (0) | 2025.04.28 |
---|---|
[Bigdata] 4. 넘파이의 세계로 (0) | 2025.04.28 |
[Bigdata] 3. 넘파이 시작하기 (1) | 2025.04.27 |
[Bigdata] 2. 데이터 분석을 위한 도구 (0) | 2025.04.27 |
[Bigdata] 1. 빅데이터로 통하는 세상 (0) | 2025.04.27 |