오류
넘파이 액세스 boolean 연산중 오류
공부짱짱열심히하기
2022. 11. 23. 13:20
X의 데이터 중에서, 50보다 크고 80보다 작은 데이터를 가져오시오
X
Out[167]:
array([[ 13, 22, 49, 42, 80],
[ 91, 63, 58, 20, 34],
[ 60, 40, 16, 37, 66],
[ 2, 44, 16, 87, 100]])
X > 50
Out[176]:
array([[False, False, False, False, True],
[ True, True, True, False, False],
[ True, False, False, False, True],
[False, False, False, True, True]]
X <80
Out[177]:
array([[ True, True, True, True, False],
[False, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, False, False]])
이 두개의 조건이 만족을 해야 하는 상황에서
and 연산자를 활용하면 오류가 나온다
왜냐면 and 혹은 or은 if 조건문에서만 활용되는 연산자로
데이터 억세스에서는 & , | 를 활용을 한다.
(X >50) & (X<80)
Out[181]:
array([[False, False, False, False, False],
[False, True, True, False, False],
[ True, False, False, False, True],
[False, False, False, False, False]])