
파이썬(Python)에서 조건문을 작성할 때 가장 핵심이 되는 요소가 논리연산자(and, or, not) 입니다.
조건을 조합하거나 데이터를 비교할 때 반드시 사용되며, 특히 데이터 분석에서는 NumPy 배열을 대상으로 논리연산을 수행하는 경우가 많습니다.
본 글에서는 기본 논리연산자 설명부터, 실제 예제 코드, NumPy의 logical_and / logical_or 활용법까지 실전 중심으로 정리합니다.
1. 파이썬 기본 논리연산자: AND, OR, NOT
파이썬에서 조건 조합에 사용되는 기본 논리연산자는 다음과 같습니다.
AND
두 조건이 모두 True일 때만 True가 됩니다.
OR
두 조건 중 하나라도 True이면 전체 결과가 True가 됩니다.
NOT
조건의 논리값을 반대로 뒤집습니다. True → False, False → True
아래는 예제 코드입니다.
# Define variables
my_kitchen = 18.0
your_kitchen = 14.0
# my_kitchen bigger than 10 and smaller than 18?
print(my_kitchen >= 10 and my_kitchen <= 18)
# my_kitchen smaller than 14 or bigger than 17?
print(my_kitchen <= 14 or my_kitchen >= 17)
# Double my_kitchen smaller than triple your_kitchen?
print(2 * my_kitchen <= 3 * your_kitchen)
코드 설명
(1) my_kitchen >= 10 and my_kitchen <= 18
- 18.0은 10 이상이므로 True
- 동시에 18 이하이므로 True
- 두 조건 모두 충족 ⇒ True
(2) my_kitchen <= 14 or my_kitchen >= 17
- 첫 조건은 False
- 두 번째 조건은 True
- OR 연산이므로 하나라도 True이면 전체 True
(3) 2*my_kitchen <= 3*your_kitchen
- 2*18 = 36
- 3*14 = 42
- 36 <= 42 이므로 True
이처럼 비교 연산 + 논리연산을 조합하면 다양한 조건 판단이 가능합니다.
2. NumPy 배열에서의 논리 연산
일반 파이썬 변수는 논리연산자(and, or)를 사용할 수 있지만, NumPy 배열(array) 에서는 and/or를 직접 사용할 수 없습니다.
대신 NumPy가 제공하는 논리 연산 함수들을 사용해야 합니다.
대표 함수는 다음과 같습니다.
- np.logical_and(condition1, condition2)
- np.logical_or(condition1, condition2)
- np.logical_not(condition)
예제 코드
import numpy as np
# Create arrays
my_house = np.array([18.0, 20.0, 10.75, 9.50])
your_house = np.array([14.0, 24.0, 14.25, 9.0])
# my_house greater than 18.5 or smaller than 10
print(np.logical_or(my_house > 18.5, my_house < 10))
# Both my_house and your_house smaller than 11
print(np.logical_and(my_house < 11, your_house < 11))
출력 및 개념 설명
np.logical_or(my_house > 18.5, my_house < 10)
각 요소별로 조건을 비교합니다.
- 18.0 → 18.5보다 작지만 10보다 큼 → False
- 20.0 → 18.5보다 큼 → True
- 10.75 → 둘 다 해당 없음 → False
- 9.50 → 10보다 작음 → True
결과: [False True False True]
np.logical_and(my_house < 11, your_house < 11)
각 배열의 같은 위치 요소끼리 비교합니다.
- my 10.75 < 11 AND your 14.25 < 11 → False
- my 9.50 < 11 AND your 9.0 < 11 → True
최종 결과: [False False False True]
NumPy의 논리 연산은 조건 기반 필터링, 데이터 분석, 머신러닝 전처리에서 매우 자주 등장하는 핵심 기능입니다.
파이썬에서 논리연산자(and, or, not)는 조건문 작성의 기본이며, 복잡한 판단 로직을 만들 때 필수적입니다.
또한 NumPy 배열에서는 일반 논리연산자를 사용할 수 없기 때문에 np.logical_and, np.logical_or 같은 전용 함수를 반드시 사용해야 합니다.
기본 변수 비교부터 배열 데이터 분석까지 논리 연산은 모든 파이썬 개발자와 데이터 분석가에게 필요한 필수 문법입니다.
'Programming' 카테고리의 다른 글
| Matplotlib 완전 정리: 기본 리스트/딕셔너리로 배우는 Line Plot · Scatter Plot · Histogram (0) | 2025.12.08 |
|---|---|
| NumPy 완전 정리: ndarray 생성부터 reshape, axis, 벡터와 행렬 연산까지 한 번에 배우기 (0) | 2025.12.08 |
| 파이썬 판다스(Pandas) 완전 정리: DataFrame 생성부터 인덱싱·정렬·그룹화·결측치 처리까지 한 번에 배우기 (0) | 2025.12.08 |
| 파이썬 딕셔너리(Dictionary) 완전 정리: 기본 개념부터 추가·수정·삭제·중첩 딕셔너리까지 (0) | 2025.12.08 |
| 리스트 복사, 탐색, 추가·반전까지: Python 리스트 기본기 완전 정리 (0) | 2025.12.08 |