불리언 마스킹과 필터링
NumPy
에서는 불리언 조건(boolean condition)을 사용해 배열을 필터링할 수 있는데, 이를 마스킹(masking)
이라고 합니다.
마스킹은 배열의 값을 비교하며 조건을 만족하는 값만 포함된 새 배열을 반환합니다.
불리언 배열
아래 코드처럼 arr > 10
같은 비교를 통해 True
또는 False
값으로 이루어진 새로운 배열을 만들 수 있습니다.
불리언 배열
arr = np.array([5, 12, 18, 7])
mask = arr > 10
print(mask) # 출력: [False True True False]
값 필터링
불리언 배열을 마스크로 사용해 기존 배열을 필터링할 수 있습니다.
값 필터링
arr = np.array([5, 12, 18, 7])
mask = arr > 10
print(arr[mask]) # 출력: [12 18]
더 간단히 이렇게도 쓸 수 있습니다.
다른 방식으로 값 필터링
print(arr[arr > 10]) # 출력: [12 18]
마스킹은 행을 필터링하거나, 구간을 선택하거나, 이상치를 식별하는 데 특히 유용합니다.
요약
- 비교 연산자(
>
,<
,==
등)로 불리언 마스크를 만들 수 있습니다. - 마스크를 적용해 원하는 값만 선택할 수 있습니다.
- 마스크는 1차원과 2차원 배열 모두에서 동작합니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!