[파이썬] pandas에서 조건부 선택

Pandas는 Python에서 데이터를 다루고 분석하기 위한 강력한 라이브러리이다. 이 블로그 포스트에서는 pandas를 사용하여 데이터프레임에서 조건에 따라 특정 데이터를 선택하는 방법에 대해 알아보겠다.

데이터프레임 생성

먼저, pandas의 데이터프레임을 생성하는 것부터 시작해보자. 아래의 예제 코드는 pandas 패키지를 임포트하고, DataFrame() 함수를 사용하여 데이터프레임을 생성한다.

import pandas as pd

data = {'Name': ['John', 'Alice', 'Bob', 'Emily'],
        'Age': [25, 32, 18, 27],
        'Gender': ['Male', 'Female', 'Male', 'Female'],
        'City': ['Seoul', 'New York', 'London', 'Paris']}
df = pd.DataFrame(data)

위의 코드에서는 각각의 사람에 대한 이름, 나이, 성별, 도시 정보를 가지는 데이터를 딕셔너리 형태로 생성한 뒤, 이를 DataFrame() 함수의 인자로 전달하여 데이터프레임을 생성한다.

조건에 따라 선택하기

이제, 생성한 데이터프레임에서 조건에 따라 특정 데이터를 선택해보자.

단일 조건 선택

가장 간단한 방법은 단일 조건을 사용하는 것이다. 예를 들어, 나이가 25세 이상인 사람들의 정보를 선택하려면 다음과 같은 코드를 사용할 수 있다.

selected = df[df['Age'] >= 25]

위의 코드에서는 데이터프레임의 ‘Age’ 컬럼을 선택하고, 해당 컬럼이 25 이상인 데이터를 선택하여 새로운 데이터프레임으로 할당한다.

다중 조건 선택

때로는 여러 개의 조건을 모두 만족하는 데이터를 선택해야 할 때도 있다. 이 경우, & 연산자를 사용하여 각각의 조건을 연결할 수 있다. 예를 들어, 성별이 ‘Female’이고 나이가 30 이하인 여성의 정보를 선택하려면 다음과 같은 코드를 사용할 수 있다.

selected = df[(df['Gender'] == 'Female') & (df['Age'] <= 30)]

위의 코드에서는 ‘Gender’ 컬럼과 ‘Age’ 컬럼이 각각 ‘Female’과 30 이하인 데이터를 선택하여 새로운 데이터프레임으로 할당한다.

조건에 따라 열 선택

데이터프레임에서 특정 조건을 만족하는 행을 선택하는 것 뿐만 아니라, 특정 조건을 만족하는 열을 선택하는 것도 가능하다. 예를 들어, 나이가 20 이하인 사람들의 이름과 도시 정보만 선택하려면 다음과 같은 코드를 사용할 수 있다.

selected = df.loc[df['Age'] <= 20, ['Name', 'City']]

위의 코드에서는 ‘Age’ 컬럼이 20 이하인 데이터의 ‘Name’과 ‘City’ 컬럼을 선택하여 새로운 데이터프레임으로 할당한다.

마무리

이 블로그 포스트에서는 pandas를 사용하여 데이터프레임에서 조건에 따라 특정 데이터를 선택하는 방법에 대해 알아보았다. pandas는 다양한 조건부 선택 기능을 제공하므로, 데이터를 효율적으로 필터링하고 분석하는 데 매우 유용하다. pandas의 다양한 기능들을 익혀 더 복잡한 데이터 처리를 할 수 있도록 노력해보자.