본문 바로가기
AI/Machine-Learning

[NumPy] where

by Wikinist 2023. 9. 8.

np.where 함수는 NumPy 라이브러리에서 제공되는 유용한 함수 중 하나로, 조건에 따라 배열 내의 값을 검색하거나 변경하는 데 사용됩니다. 이 함수의 시그니처와 기능에 대해 설명해보겠습니다.

numpy.where(condition, [x, y])

condition: 조건 배열 또는 조건식입니다. 이 배열 또는 조건식의 원소가 True인 위치의 값을 검색하거나 변경할 때 사용됩니다.
x (선택적): 조건 배열의 원소가 True인 경우 반환할 값을 지정합니다. 이 매개변수를 생략하면 condition 배열 내에서 True인 원소의 인덱스를 반환합니다.
y (선택적): 조건 배열의 원소가 False인 경우 반환할 값을 지정합니다. 이 매개변수를 생략하면 condition 배열 내에서 False인 원소의 인덱스를 반환합니다.

np.where 함수는 주어진 조건에 따라 값을 검색하거나 변경하는 데 사용됩니다. 일반적으로 다음과 같은 방식으로 활용됩니다.

값 검색

x 매개변수를 생략하면 조건을 만족하는 원소의 인덱스를 반환합니다.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3
indices = np.where(condition)
print(indices)  # 출력: (array([3, 4]),)

값 변경

x와 y 매개변수를 함께 사용하여 조건에 따라 값을 변경할 수 있습니다.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
new_arr = np.where(arr > 3, arr * 2, arr)
print(new_arr)  # 출력: [ 1  2  3  8 10]

위의 예제에서, 조건 arr > 3을 만족하는 경우에는 해당 위치의 값에 2를 곱하고, 만족하지 않는 경우에는 원래 값을 그대로 사용합니다.

np.where 함수는 NumPy 배열에서 조건부 연산을 수행하거나, 값을 필터링하거나 변경할 때 유용하게 사용됩니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'AI > Machine-Learning' 카테고리의 다른 글

주성분 분석(Principal Component Analysis, PCA)  (0) 2023.09.08
[NumPy] bincount  (0) 2023.09.08
Density clustering  (0) 2023.09.08
[NumPy] choose()  (0) 2023.09.08
계층적 클러스터링 함수  (0) 2023.09.08