Pandas는 데이터 정제, 데이터 분석 등에 폭넓게 사용되는 파이썬 라이브러리입니다. 이 글에서는 query 메서드를 활용해 주어진 데이터셋에서 특정 데이터만 추출하는 방법을 살펴보겠습니다. query 메서드에는 단일 조건뿐 아니라 여러 조건을 함께 지정할 수도 있습니다.
데이터 불러오기
먼저 pandas 라이브러리를 사용해 데이터를 데이터프레임으로 불러오겠습니다. 아래 프로그램이 바로 그 작업을 수행합니다.
예제
import pandas as pd
# CSV 파일에서 데이터프레임 읽기
data = pd.read_csv("D:\\heart.csv")
print(data)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

단일 조건으로 쿼리하기
이번에는 단일 조건을 적용한 query 메서드 사용법을 보겠습니다. 실행 결과를 확인해 보면 전체 303행 중 조건에 해당하는 119행만 반환된 것을 알 수 있습니다.
예제
import pandas as pd
# CSV 파일로 데이터프레임 생성
data = pd.read_csv("D:\\heart.csv")
data.query('chol < 230', inplace=True)
# 결과 출력
print(data)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

복수 조건으로 쿼리하기
앞선 방식과 같은 요령으로 query 메서드에 여러 조건을 동시에 적용할 수 있습니다. 이렇게 하면 결과 데이터셋이 더욱 좁혀집니다. 나이(age)가 60보다 크다는 조건까지 추가하면 이번에는 79행만 반환됩니다.
주의할 점은 여러 조건을 결합할 때 각 조건을 별도의 문자열로 나눠 전달하면 안 된다는 것입니다. 반드시 하나의 문자열 안에서 and 연산자로 연결해야 의도한 대로 필터링이 동작합니다.
예제
import pandas as pd
# CSV 파일로 데이터프레임 생성
data = pd.read_csv("D:\\heart.csv")
data.query('chol < 230 and age > 60', inplace=True)
# 결과 출력
print(data)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
