2학년 2학기/데이터 사이언스 입문
비교, 마스크, Bool 연산
kkkkk1023
2024. 10. 5. 14:32
numpy에서의 비교 연산자
numpy에서 비교 연산자를 사용하면 Bool을 출력해준다. 조건에 부합하는 요소는 True, 부합하지 않으면 False를 출력한다.
비교 연산자와 내장 메소드를 함께 활용하면 더 많은 기능을 수행할 수 있다.
위의 사용 예시를 보면 비교연산자 통해서 조건에 부합하는 값을 모두 True(1)로 변경하고 count_nonzero를 이용해서 1의 개수를 세어 반환해서 조건에 부합하는 요소개 몇 개인지 출력한다.
주의할 내장 메소드로는 sum이 있다.
형태만 보면 6 미만의 요소들을 모두 합해준다고 생각할 수 있지만 그렇게 작동하지 않는다.
비교 연산자를 통해 6 미만의 요소들은 모두 1으로 변환해있는 상태에서 모든 요소를 더해준다.
따라서 결과는 count_nonzero와 같다.
axis를 추가하면 그 축에서 해당 조건을 부합하는 요소들의 개수를 출력한다.
개수가 아니라 조건의 여부를 확인하는 내장 메소드들도 있다.
Masking
: 지금까지는 완성된 filter가 아니다. 완성된 filter는 조건에 부합하는 요소의 개수를 출력하는게 아니라 그 요소 자체를 출력하는 것이다.
조건에 부합하는 요소들을 인덱싱하는 것과 같다.
numpy에서의 and/or vs &/|