AI/Numpy

[Numpy] numpy 배열 원소 추출하기

sangwonYoon 2023. 3. 8. 01:55

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