[파이썬][numpy] numpy에서 조건부 연산자 사용

NumPy는 Python 언어의 대표적인 과학 계산 라이브러리입니다. NumPy를 사용하면 다차원 배열을 효과적으로 다룰 수 있고, 조건부 연산을 수행해야 할 때 유용한 기능을 제공합니다. 이번 포스트에서는 numpy에서 조건부 연산자를 사용하는 방법을 알아보겠습니다.

1. np.where 함수

NumPy의 where 함수를 사용하면 배열의 원소에 대해 조건을 판별하고, 조건이 참이면 새로운 값을 할당할 수 있습니다. where 함수는 아래와 같은 형태로 사용됩니다.

np.where(condition, x, y)

where 함수는 원래 배열의 모양과 동일한 크기의 배열을 반환합니다. 조건이 참인 위치에는 x가 할당되고, 거짓인 위치에는 y가 할당됩니다.

다음은 where 함수를 사용하여 조건에 따라 배열을 수정하는 예제입니다.

import numpy as np

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

new_data = np.where(data > 3, 10, data)
print(new_data)

출력 결과는 다음과 같습니다.

[ 1  2  3 10 10]

위 예제에서는 data 배열의 원소 중 3보다 큰 값에 대해 조건이 참이라면 값을 10으로 변경하고, 조건이 거짓이라면 원래의 값을 유지하도록 했습니다.

2. 보다 복잡한 조건 처리

where 함수를 사용하면 더 복잡한 조건 처리도 가능합니다. 예를 들어, 여러 개의 조건을 동시에 검사하고 조건에 따라 다른 값을 할당할 수 있습니다.

다음은 where 함수를 사용하여 조건에 따라 다른 값들을 할당하는 예제입니다.

import numpy as np

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

new_data = np.where((data > 2) & (data < 5), 100, np.where(data > 5, 200, data))
print(new_data)

출력 결과는 다음과 같습니다.

[  1   2 100 100 200]

위 예제에서는 data 배열의 원소 중 2보다 크고 5보다 작은 값에 대해 100을 할당하고, 5보다 큰 값에 대해 200을 할당하도록 했습니다. 나머지 경우에는 원래의 값을 유지하도록 했습니다.

3. 조건부 연산자 활용 예제

조건부 연산자를 사용하는 예제를 살펴보겠습니다. 조건부 연산자는 간단한 조건 처리를 수행하는데 유용합니다.

다음은 조건부 연산자를 사용하여 조건에 따라 다른 값을 할당하는 예제입니다.

import numpy as np

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

new_data = np.where(data > 3, 'Big', 'Small')
print(new_data)

출력 결과는 다음과 같습니다.

['Small' 'Small' 'Small' 'Big' 'Big']

위 예제에서는 data 배열의 원소 중 3보다 큰 값에 대해 ‘Big’을 할당하고, 조건이 거짓인 경우에는 ‘Small’을 할당하도록 했습니다.

NumPy의 where 함수와 조건부 연산자를 사용하면 조건에 따라 배열의 원소를 쉽게 처리할 수 있습니다. 이를 활용하면 데이터를 효과적으로 조작 및 분석할 수 있습니다. NumPy의 다양한 함수와 연산자를 적절히 사용하여 문제 해결에 도전해보세요!