Pandas에서는 다양한 비교 조건을 사용해 DataFrame의 열(column) 값을 손쉽게 필터링할 수 있습니다. df[col] < 5, df[col] == 10 같은 비교 연산을 수행하면, 해당 열의 모든 값을 하나씩 검사하여 조건을 만족하면 True, 만족하지 않으면 False를 반환합니다.
예를 들어 df[col] > 2라는 조건을 적용하면, col 열의 각 값이 2보다 큰지 여부를 판별한 결과가 불리언(Boolean) 시리즈 형태로 출력됩니다. 이러한 불리언 마스크는 이후 실제 데이터를 선택하거나 필터링하는 데 활용할 수 있습니다.
처리 순서
- 2차원이며 크기 변경이 가능하고 서로 다른 자료형을 담을 수 있는 표 형태의 데이터(DataFrame)인 df를 생성합니다.
- 입력 DataFrame인 df를 출력합니다.
- 열 이름으로 변수 col을 초기화합니다.
- 다양한 비교 연산(>, ==, <, != 등)을 수행합니다.
- 결과로 생성된 불리언 시리즈를 출력합니다.
예제 코드
import pandas as pd
df = pd.DataFrame(
{
"x": [5, 2, 7, 0],
"y": [4, 7, 5, 1],
"z": [9, 3, 5, 1]
}
)
print("입력 DataFrame:\n", df)
col = "x"
print(f"열 {col}에서 5보다 큰 요소:\n", df[col] > 5)
print(f"열 {col}에서 5와 같은 요소:\n", df[col] == 5)
col = "y"
print(f"열 {col}에서 5보다 작은 요소:\n", df[col] < 5)
print(f"열 {col}에서 5가 아닌 요소:\n", df[col] != 5)실행 결과
입력 DataFrame: x y z 0 5 4 9 1 2 7 3 2 7 5 5 3 0 1 1 열 x에서 5보다 큰 요소: 0 False 1 False 2 True 3 False Name: x, dtype: bool 열 x에서 5와 같은 요소: 0 True 1 False 2 False 3 False Name: x, dtype: bool 열 y에서 5보다 작은 요소: 0 True 1 False 2 False 3 True Name: y, dtype: bool 열 y에서 5가 아닌 요소: 0 True 1 True 2 False 3 True Name: y, dtype: bool
위 결과에서 볼 수 있듯이, 비교 연산의 반환값은 원본 DataFrame과 동일한 인덱스를 가진 불리언 시리즈입니다. 이 시리즈를 df[df[col] > 5] 형태로 활용하면 조건을 만족하는 행만 추출할 수 있어, 데이터 전처리와 분석 과정에서 매우 유용하게 사용됩니다.