Numpy 슬라이싱

chanykim·2022년 6월 16일
0

예제 array

arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
print(arr)
arr=(12345678910111213141516)arr = \begin{pmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 \end{pmatrix}

arr 출력

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]

행, 열 가져오기

기본 행, 열

#행 
print(arr[1])
[5 6 7 8]

#열 
print(arr[:,1])
[ 2  6 10 14]

#마지막 행
print(arr[-1])
[13 14 15 16]

#마지막 열
print(arr[:, -1])
print(arr[..., -1])
둘다 [ 4  8 12 16]

특정 행, 열

배열[a:b, c:d]을 이용하여 가져올 수 있습니다.
배열[a:b:e, c:d:f]를 이용하여 e와 f를 간격으로 사용할 수 있습니다.
▶ a ~ b는 표시할 행의 위치, c ~ d는 표시할 열의 위치

# 2행에서 열 인덱스 1~2
print(arr[2, 1:3])
[10 11]

# 행 인덱스 0~1 || 열 인덱스 1
print(arr[:2,1:2]) 
[[2]
 [6]]
 
# 행 인덱스 전체, 간격 2(행 인덱스 0, 2) || 열 인덱스 1~마지막 열, 간격 2 (열 인덱스 1, 3)
 print(arr[::2, 1::2])
 [[ 2  4]
 [10 12]]

# 행 인덱스 1~2 || 열 인덱스 1~2
print(arr[1:3,1:3]) 
[[ 6  7]
 [10 11]]
 
 #행 인덱스 1~끝, 1번째부터 간격 2 띄워서(행 인덱스1, 3) || 열 인덱스 1~끝, 1번째부터 간격 2 띄워서(열 인덱스 1, 3)
 print(arr[1::2,1::2]) 
 [[ 6  8]
 [14 16]]
 
#행 인덱스 1~마지막 행, || 열 인덱스 처음~(마지막 열-1)
 print(arr[1:-1,:-2])
 [[ 5  6]
 [ 9 10]]
profile
오늘보다 더 나은 내일

0개의 댓글