[파이썬] pandas에서 복잡한 조건 및 쿼리문 (query)

판다스(pandas)는 파이썬을 위한 데이터 분석 라이브러리로, 데이터 프레임(DataFrame)을 사용하여 데이터를 조작하고 분석하는데에 매우 유용합니다. 데이터 프레임은 스프레드시트와 비슷한 형태로 구성된 2차원 데이터 구조로, 행과 열로 이루어져 있습니다.

판다스에서는 복잡한 조건을 사용하여 데이터를 필터링 및 쿼리하는 기능도 제공합니다. 이를 통해 데이터를 효율적으로 처리하고 원하는 정보를 추출할 수 있습니다. 이번 포스트에서는 판다스에서 복잡한 조건 및 쿼리문을 사용하는 방법에 대해 알아보겠습니다.

단순한 조건문 사용하기

판다스에서는 데이터프레임에 대해 단순한 조건문을 사용하여 데이터를 필터링할 수 있습니다. 다음은 예제 코드입니다.

import pandas as pd

# 데이터프레임 생성
data = {'Name': ['John', 'Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35, 40],
        'City': ['Seoul', 'New York', 'London', 'Tokyo']}
df = pd.DataFrame(data)

# 나이가 30 이상인 데이터 필터링
filtered_df = df[df['Age'] >= 30]
print(filtered_df)

위의 코드에서는 ‘Age’ 열의 값이 30 이상인 데이터를 필터링하고, 결과를 출력합니다. 결과는 다음과 같습니다.

      Name  Age      City
1    Alice   30  New York
2      Bob   35    London
3  Charlie   40     Tokyo

이렇게 단순한 비교 연산자를 사용하여 데이터를 필터링할 수 있습니다. 하지만 조건이 더 복잡한 경우에는 어떻게 해야 할까요? 판다스는 다양한 조건문과 연산자를 제공하여 더 복잡한 조건을 처리할 수 있도록 도와줍니다.

복잡한 조건문 사용하기

판다스에서 복잡한 조건문을 사용하는 방법은 다양합니다. 여기서는 대표적인 방법인 & (and) 연산자와 | (or) 연산자를 사용하는 예제를 보겠습니다.

import pandas as pd

# 데이터프레임 생성
data = {'Name': ['John', 'Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35, 40],
        'City': ['Seoul', 'New York', 'London', 'Tokyo']}
df = pd.DataFrame(data)

# 나이가 30 이상이고 도시가 New York인 데이터 필터링
filtered_df = df[(df['Age'] >= 30) & (df['City'] == 'New York')]
print(filtered_df)

위의 코드에서는 ‘Age’ 열의 값이 30 이상이고 ‘City’ 열의 값이 ‘New York’인 데이터를 필터링하고, 결과를 출력합니다. 결과는 다음과 같습니다.

    Name  Age      City
1  Alice   30  New York

이렇게 & 연산자를 사용하여 여러 조건을 동시에 만족하는 데이터를 필터링할 수 있습니다. 마찬가지로 | 연산자를 사용하면 여러 조건 중 하나라도 만족하는 데이터를 필터링할 수 있습니다.

판다스에서는 복잡한 조건문을 작성할 수 있는 다양한 방법이 있으며, 괄호를 사용하여 조건문의 우선순위를 지정하는 등의 작업도 가능합니다. 필요에 따라 다양한 방식을 조합하여 복잡한 조건문을 작성할 수 있습니다.

결론

판다스를 사용하면 복잡한 조건 및 쿼리문을 통해 데이터를 효율적으로 처리하고 원하는 정보를 추출할 수 있습니다. 이번 포스트에서는 단순한 조건문부터 시작하여 복잡한 조건문을 다루는 방법에 대해 알아보았습니다. 다양한 조건문과 연산자를 익혀 데이터 분석에서 필요한 정보를 정확하고 효율적으로 추출할 수 있도록 실습해보세요.