numpy 배열의 원소 중 원하는 원소를 추출하여 새로운 배열로 만드는 방법에 대해서 알아보자.
boolean index
특정 조건에 해당하는 값을 배열 형태로 추출한다.
test_array = np.array([1, 4, 0, 2, 3, 8, 9, 7], float)
# test_array에서 3보다 큰 element만 추출해서 반환한다.
print(test_array[test_array > 3])
# 출력: [4. 8. 9. 7.]
fancy index
numpy array를 인덱스 값으로 사용해서 값을 추출한다.
a = np.array([2, 4, 6, 8], float)
b = np.array([0, 0, 1, 3, 2, 1], int) # 반드시 integer로 선언해야 한다.
# b를 인덱스 값으로 사용
# 아래 두 코드는 같은 역할을 한다.
print(a[b])
print(a.take(b))
# 출력: [2. 2. 4. 8. 6. 4.]
matrix 형태의 배열에도 적용 가능하다.
a = np.array([[1, 4], [9, 16]], float)
b = np.array([0, 0, 1, 1, 0], int)
c = np.array([0, 1, 1, 1, 1], int)
print(a[b,c])
# 출력: [ 1. 4. 16. 16. 4.]
'AI > Numpy' 카테고리의 다른 글
[Numpy] where 함수 사용법 (0) | 2023.03.08 |
---|---|
[Numpy] numpy 배열 간 연산 (0) | 2023.03.08 |
[Numpy] numpy 배열 합치기 (0) | 2023.03.08 |
[Numpy] axis란 무엇일까? (0) | 2023.03.08 |
[Numpy] numpy 배열 생성하기 (0) | 2023.03.08 |