0910
3주차-Day2) Numpy 실습
bool 인덱싱
import numpy as np
np.random.seed(42)
arr = np.random.randint(0, 100, size=(5, 6, 3))
# arr에서 10보다 크고 20보다 작거나 같은 요소들만 추출해봅시다.
result = arr[(arr > 10) & (arr <= 20)]
print(result)
관계 연산
import numpy as np
np.random.seed(42)
A = np.random.randint(0, 100, size=(3, 3, 3))
# A안에 52 또는 1인 요소와 같은 위치에는 True, 다른 곳에는 False인 배열을 result에 넣어주세요.
result = ((A == 52) | (A == 1))
print(result)
Use a.any() or a.all()
Numpy에서의 'bool' 조건문 관련 오류에 대해 알게 된 것 정리
# and나 or을 썼을 때 아래의 오류가 나오는 이유
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
- 여러 개의 조건식을 작성할 때 and와 or로 넣어주면 에러가 발생
ㄴand
는 Python의 예약어입니다.and
의 피연산자에는numpy.ndarray
가 아닌bool
타입의 값이 와야 됩니다.
ㄴNumpy
에서는any()
또는all()
메소드를 사용하여bool
값으로 변경하라고 에러가 발생한 것입니다 - 즉, 배열에 관한 여러 조건식을 결합할 때는 and, or가 아닌 &, |를 사용해야 합니다.
'프로그래머스 데브 코스 > TIL' 카테고리의 다른 글
[6기] 프로그래머스 인공지능 데브코스 12일차 TIL (0) | 2023.09.12 |
---|---|
[6기] 프로그래머스 인공지능 데브코스 11일차 TIL (0) | 2023.09.11 |
[6기] 프로그래머스 인공지능 데브코스 9일차 TIL (0) | 2023.09.09 |
[6기] 프로그래머스 인공지능 데브코스 8일차 TIL (0) | 2023.09.08 |
[6기] 프로그래머스 인공지능 데브코스 7일차 TIL (0) | 2023.09.07 |