[python] NumPy에서 조건에 맞는 요소를 선택하는 방법은 무엇인가요?

불린 인덱싱은 배열에 조건을 적용하여 그 조건에 맞는 요소들만 선택하는 방법입니다. 조건을 만족하는 요소는 True로 표시되며, 이를 인덱스로 사용하여 배열의 해당 요소를 선택할 수 있습니다.

다음은 간단한 예시 코드입니다:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 3보다 큰 값을 가진 요소들만 선택
selected = arr[arr > 3]

print(selected)  # 출력: [4, 5]

위 코드에서 arr > 3은 배열 arr의 각 요소에 대해 조건을 적용한 불린 배열을 생성합니다. arr[arr > 3]은 이 불린 배열을 인덱스로 사용하여 조건을 만족하는 요소들만 선택합니다.

또 다른 방법으로 np.where() 함수를 활용하는 방법이 있습니다. np.where() 함수는 조건을 만족하는 요소들의 인덱스를 반환하거나, 조건을 만족하는 요소들에 대해 다른 값을 할당할 수 있는 기능을 제공합니다.

다음은 np.where() 함수를 사용하는 예시 코드입니다:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 3보다 큰 값을 가진 요소들의 인덱스를 반환
indices = np.where(arr > 3)

print(indices)  # 출력: (array([3, 4]),)

위 코드에서 arr > 3은 불린 배열을 생성합니다. np.where(arr > 3)은 이 불린 배열을 조건으로 사용하여 조건을 만족하는 요소들의 인덱스를 반환합니다.

NumPy의 불린 인덱싱과 np.where() 함수를 사용하면 조건에 따라 배열의 요소를 유연하게 선택할 수 있습니다. 더 많은 정보와 사용 예시는 NumPy 공식 문서를 참조하시기 바랍니다.