데이터 분석 입문을 위한 기초적인 파이썬 내용을 다룹니다. 데이터 분석은 주로 파이썬의 라이브러리인 판다스를 활용해 이루어지며, 이를 위해 기본적인 파이썬 개념에 대한 이해가 필요합니다. 하지만 이것은 파이썬을 완벽하게 숙달해야 한다는 의미는 아닙니다. 그렇기에 판다스와 데이터 분석에 입문할 수 있도록 핵심 파이썬 개념을 간략하게 제공할 것입니다.
3.4. 자료형 - 불(bool)
불
불(bool) 또는 불리언(boolean) 자료형은 참을 뜻하는 True와 거짓을 뜻하는 False로 구성됩니다. 이 자료형은 데이터 분석에서 필터링, 조건별 처리와 같은 다양한 작업에 필수적으로 사용됩니다. 파이썬에서는 비교 연산의 결과로 불 자료형이 반환됩니다.
파이썬의 비교 연산
파이썬에서 비교 연산자는 두 값 간의 관계를 평가하여 불 자료형의 결과를 반환합니다. 파이썬에서 사용하는 주요 비교 연산자는 다음과 같습니다.
비교 연산자 | 비교 연산 |
== | 같다(두 값이 같을 때 True) |
!= | 다르다(두 값이 다를 때 True) |
> | 크다(왼쪽 값이 클 때 True) |
>= | 크거나 같다(왼쪽 값이 크거나 같을 때 True) |
< | 작다(왼쪽 값이 작을 때 True) |
<= | 작거나 같다(왼쪽 값이 작거나 같을 때 True) |
>=와 같이 등호가 포함된 비교 연산자는 등호가 오른쪽에 위치합니다. "여러분은 우등생이니까 우측에 등호가 위치한다"라고 기억하셔도 좋습니다.
논리 연산
불 자료형은 and, or, not과 같은 논리 연산자와 &, |, ~과 같은 비트 연산자를 통해 복잡한 조건식을 구성할 수 있습니다. 논리 연산은 다음과 같이 작동합니다.
논리 연산자 | 비트 연산자 | 연산 |
and | & | 모든 값이 True일 때만 True를 반환하고, 그렇지 않으면 False를 반환 |
or | | | 모든 값이 False일 때만 False를 반환하고, 그렇지 않으면 True를 반환 |
not | ~ | True는 False로, False는 True로 변환 |
파이썬에서는 논리 연산자와 비트 연산자를 모두 불리언의 논리 연산에 사용할 수 있습니다. 다음 코드는 논리 연산의 예시입니다.
# 파이썬의 논리 연산(논리 연산자)
True and True and False # 출력 결과: False
# 파이썬의 논리 연산(비트 연산자)
True & True & False # 출력 결과: False
논리 연산자와 비트 연산자의 차이
논리 연산자와 비트 연산자는 불리언 연산에서는 동일하게 작동하지만, 다른 자료형의 연산에서는 결과가 다를 수 있습니다. 개별 연산을 정확히 이해하는 것보다, 논리 연산자와 비트 연산자가 서로 다르며 불리언 논리 연산에서만 동일하게 작동한다는 점을 알아두는 것이 중요합니다.
# 논리 연산자 'and'를 사용하여 1과 2를 연산
1 and 2 # 출력 결과: 2
# 비트 연산자 '&'를 사용하여 1과 2를 연산
1 & 2 # 출력 결과: 0
불 자료형과 산술 연산
불 자료형은 산술 연산에서도 활용될 수 있습니다. 파이썬에서는 True를 1로, False를 0으로 간주하여 연산을 수행합니다. 예를 들어, True + True + False는 2로 계산됩니다. 이러한 연산 결과는 True의 개수가 2개임을 파악하는 데 유용하여, 조건에 맞는 데이터의 개수를 효과적으로 찾을 수 있습니다.
# 불리언의 산술 연산은 True는 1, False는 0으로 연산
True + True + False # 출력 결과: 2
판다스와 논리 연산
※ 판다스는 기초 파이썬과 직접 관련이 없으므로, 추후 판다스를 학습한 후에 확인하셔도 됩니다.
판다스 객체의 벡터화 연산은, 예를 들어 객체가 시리즈인 경우, 시리즈의 각 원소에 대해 수행되는 논리 연산일 뿐 불리언 자체의 논리 연산이 아닙니다. 따라서 논리 연산자를 사용할 수 없고, 대신 비트 연산자만 사용할 수 있습니다. 이 부분은 입문자들에게 잦은 에러를 유발할 수 있으므로 주의가 필요합니다.
유튜브에서 판다스 강의 중입니다.
https://www.youtube.com/@KimPandas
'판다스 > 기초 파이썬' 카테고리의 다른 글
[python] 3.6. 인덱싱과 슬라이싱 (3) | 2024.11.05 |
---|---|
[python] 3.5. 자료형 - 리스트 (2) | 2024.10.30 |
[python] 3.3. 자료형 - 문자열 (0) | 2024.10.30 |
[python] 3.2. 자료형 - 실수 (4) | 2024.10.28 |
[python] 3.1. 자료형 - 정수 (3) | 2024.10.28 |