Data Science Fellowship/Python

[Python] Boolean 연산자와 넘파이 이야기

graph-dev 2023. 12. 9. 13:12
728x90

numpy and boolean

 

 

넘파이는 훌륭한 파이썬의 연산 도구입니다. Boolean 자료형과 결합해볼까요?

 

# 배열 만들기
import numpy as np
my_house = np.array([18.0, 20.0, 10.75, 9.50])
your_house = np.array([14.0, 24.0, 14.25, 9.0])

# my_house는 18.5 or 10보다 작거나, 18.5보다 큰지 확인하라.
print(np.logical_or(my_house > 18.5, your_house < 10))

# my_house 그리고 your_house는 11보다 큰지 확인한다.
print(np.logical_and(my_house > 11, your_house > 11))

 

결과를 보겠습니다.

[False  True False  True]
[ True  True False False]

 

놀랍게도, 배열 안의 값을 하나씩 조건에 맞는지 비교 연산하여 출력합니다.

 

하나만 살펴보겠습니다.

np.logical_or() 은 내부의 값 조건이 두 개 있으면, or로 연결해주는 친구입니다. 배열 내부 원소를 하나씩 검사해서 그 결과 값을 종합하여 출력합니다.

 

my_house 18.0 20.0 10.75 9.5
> 18.5 F T F F
your_house 14.0 24.0 14.25 9.0
< 10 F F F T
OR F T F T

 

실제로 이런 결과가 나오는 게 보이십니까? OR 조건의 값을 하나씩 원소별로 대응한다니 신기합니다.

 

my_house 18.0 20.0 10.75 9.5
> 11 T T F F
your_house 14.0 24.0 14.25 9.0
> 11 T T T F
AND T T F F

 

AND 조건도 동일하게 원소별로 대응하여 결과가 나타납니다.

 

numpy.logical_or(), logical_and(), logical_not() 메서드도 유용하겠네요.