[파이썬] pandas에서 데이터 필터링

데이터 필터링은 데이터프레임 내에서 특정 조건을 만족하는 데이터만 선택하는 과정입니다. 이 기능은 pandas라이브러리의 강력한 기능 중 하나이며, 데이터 분석 작업에 필수적인 요소입니다.

이번 블로그 포스트에서는 pandas에서 데이터 필터링을 수행하는 방법에 대해 알아보겠습니다.

데이터프레임 만들기

먼저, 데이터를 필터링하기 위해 데이터프레임을 만들어야 합니다. 아래의 예시 코드를 통해 간단한 데이터프레임을 생성하겠습니다.

import pandas as pd

# 데이터프레임 생성
data = {'이름': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
        '나이': [25, 32, 18, 47, 21],
        '성별': ['여성', '남성', '남성', '남성', '여성']}

df = pd.DataFrame(data)
print(df)

위의 코드를 실행하면 아래와 같은 출력을 얻을 수 있습니다.

        이름  나이  성별
0    Alice  25  여성
1      Bob  32  남성
2  Charlie  18  남성
3    David  47  남성
4      Eve  21  여성

조건에 따른 데이터 필터링하기

이제 데이터프레임에서 특정 조건에 맞는 데이터만 필터링하는 방법을 알아보겠습니다. 예를 들어, 나이가 25세 이상인 데이터를 선택하고 싶다면 다음과 같이 코드를 작성합니다.

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

위의 코드를 실행하면 나이가 25세 이상인 데이터만 선택된 새로운 데이터프레임이 출력됩니다.

      이름  나이  성별
0  Alice  25  여성
1    Bob  32  남성
3  David  47  남성

이와 같이, pandas에서는 데이터프레임의 열을 기준으로 조건을 지정하여 데이터를 선택할 수 있습니다. 비교 연산자 (>, <, >=, <=, ==, !=)를 사용하여 원하는 조건을 지정할 수 있습니다.

여러 조건에 따른 데이터 필터링하기

여러 조건을 동시에 만족하는 데이터를 필터링하기 위해서는 & (and) 연산자나 | (or) 연산자를 사용합니다.

예를 들어, 나이가 20세 이상이면서 성별이 여성인 데이터를 선택하고 싶다면 다음과 같이 코드를 작성합니다.

# 나이가 20세 이상이면서 성별이 여성인 데이터 필터링
filtered_df = df[(df['나이'] >= 20) & (df['성별'] == '여성')]
print(filtered_df)

위의 코드를 실행하면 나이가 20세 이상이면서 성별이 여성인 데이터만 선택된 새로운 데이터프레임이 출력됩니다.

    이름  나이  성별
0  Alice  25  여성
4    Eve  21  여성

여러 조건을 지정할 때는 각 조건을 괄호로 감싸주어야 합니다. & 연산자는 괄호 안의 모든 조건을 만족하는 데이터를 선택하고, | 연산자는 괄호 안의 조건 중 하나라도 만족하는 데이터를 선택합니다.

결론

pandas를 사용하여 데이터 필터링을 수행하는 방법에 대해 알아보았습니다. 데이터프레임을 생성하고, 원하는 조건에 따라 데이터를 선택하는 방법을 익혀두면 데이터 분석 작업에서 유용하게 활용할 수 있을 것입니다. pandas는 데이터 처리와 분석을 위한 강력한 도구이므로, 데이터 프로젝트나 데이터 사이언스 작업에 pandas를 활용해보는 것을 권장합니다. ```