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 &/|