파이썬 배열의 인덱싱(indexing)과 슬라이싱(slicing)
2021. 11. 16. 23:02ㆍpython
반응형
Indexing ; 인덱스로 값을 찾아냄
Slicing ; 인덱스의 값으로 배열의 일부분을 가져옴
Boolean indexing ; 배열의 각 요소의 선택 여부를 Boolean mask를 이용하여 지정하는 방식
x = np.arange(7)
print(x)
# [0 1 2 3 4 5 6]
print(x < 3) # [True True True False False False False]
print(x > 7) # [False False False False False False False]
x = np.arange(7)
# Boolean mask의 True요소에 해당하는 index만을 조회
print(x[x < 3]) # [0 1 2]
print(x[x % 2 == 0]) # [0 2 4 6]
Fancy indexing ; 배열의 각 요소 선택을 index배열을 전달하여 지정하는 방식
원하는 요소를 지정하기 위해 indexing과 slicing을 적절히 조합하여 사용가능
x = np.arange(1, 13, 1).reshape(3, 4)
print(x)
# [[1 2 3 4]
# [5 6 7 8]
# [9 10 11 12]]
print(x[1:2, 2]) # 7
print(x[[0,2], 2]) # [3 11]
print(x[[0,2], :2]) # [[1 2]
# [9 10]
indexing & Slicing 실습
import numpy as np
matrix = np.arange(1, 13, 1).reshape(3, 4)
print(matrix)
# 1. Indexing을 통해 값 2를 출력해보세요.
answer1 = matrix[0,1]
# 위에서 구한 정답을 출력해봅시다.
print(answer1) #2
# 2. Slicing을 통해 매트릭스 일부인 9, 10을 가져와 출력해보세요.
answer2 = matrix[2:, :2]
print(answer2) # [9 10]
# 3. Boolean indexing을 통해 5보다 작은 수를 찾아 출력해보세요.
answer3 = matrix[matrix < 5]
print(answer3) # [1 2 3 4]
# 4. Fancy indexing을 통해 두 번째 행만 추출하여 출력해보세요.
answer4 = matrix[[1]]
print(answer4) #[[5 6 7 8]]
본 게시물은 2021 NIPA AI 온라인 elice교육을 듣고 작성한 글입니다.
반응형
'python' 카테고리의 다른 글
다차원 배열을 다루는 라이브러리 numpy와 배열 (0) | 2021.11.16 |
---|---|
파이썬의 여러가지 모듈과 패키지사용법에 대해 (0) | 2021.11.16 |