데이터 필터링은 데이터셋에서 원하는 조건과 일치하는 데이터만 선택하여 가져오는 방법입니다. 파이썬에서는 다양한 방식으로 데이터 필터링을 할 수 있습니다. 이 글에서는 몇 가지 대표적인 방법을 소개하겠습니다.
1. 리스트 컴프리헨션(List Comprehension)
리스트 컴프리헨션은 간결하게 데이터를 필터링하는 방법 중 하나입니다. 조건문을 포함한 표현식을 사용하여 원하는 조건을 만족하는 데이터를 선택할 수 있습니다. 예를 들어, 다음과 같은 리스트가 있다고 가정해봅시다.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
이 중에서 짝수만 선택하고 싶다면 다음과 같이 리스트 컴프리헨션을 사용할 수 있습니다.
even_numbers = [x for x in numbers if x % 2 == 0]
이러한 리스트 컴프리헨션을 활용하면 더 복잡한 조건에도 유연하게 데이터를 필터링할 수 있습니다.
2. 필터 함수(filter)
파이썬 내장 함수인 filter
함수를 사용하여 데이터를 필터링할 수도 있습니다. filter
함수는 첫 번째 인자로 주어진 함수를 통해 데이터를 걸러내는 역할을 합니다. 예를 들어, 위에서 사용한 numbers
리스트에서 홀수만 선택하고 싶다면 다음과 같이 filter
함수를 사용할 수 있습니다.
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
위 코드에서 lambda
를 사용하여 홀수를 판별하는 함수를 정의하고, filter
함수를 통해 필터링된 데이터를 얻을 수 있습니다.
3. Pandas 데이터프레임 필터링
Pandas는 파이썬의 데이터 분석 라이브러리로, 데이터프레임을 통해 데이터를 다룰 수 있습니다. 데이터프레임에서는 조건에 맞는 데이터를 선택하는 다양한 방식을 제공합니다.
3.1. 단일 조건 필터링
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'age': [25, 30, 35, 40, 45]}
df = pd.DataFrame(data)
# age가 30 이상인 데이터만 선택
filtered_df = df[df['age'] >= 30]
3.2. 다중 조건 필터링
# age가 30 이상이면서 name이 'Alice'인 데이터만 선택
filtered_df = df[(df['age'] >= 30) & (df['name'] == 'Alice')]
Pandas를 사용하면 조건에 따라 데이터를 필터링하고 원하는 결과를 얻을 수 있습니다.
위에서 소개한 방법들은 파이썬에서 데이터를 필터링하는 몇 가지 대표적인 방법입니다. 각각의 방법은 데이터를 다루는 상황에 따라 선택하여 사용할 수 있습니다. 파이썬의 다양한 기능을 활용하여 데이터 필터링을 효과적으로 수행해보세요.