데이터 분석에서 필터링과 정렬은 매우 중요한 기법입니다. 이 두 가지 기법을 통해 원시 데이터에서 필요한 정보만을 추출하고, 그것을 더욱 이해하기 쉬운 형태로 가공할 수 있습니다. 이번 글에서는 필터링과 정렬을 활용한 데이터 분석에 대한 실용적인 예제를 살펴보겠습니다.

필터링이란?

필터링은 데이터셋에서 특정 조건에 맞는 데이터를 추출하는 과정을 의미합니다. 예를 들어, 전체 데이터 중에서 특정 기간에 해당하는 데이터나 특정 조건을 만족하는 데이터만을 선택할 수 있습니다. 이를 통해 우리는 분석하고자 하는 데이터의 범위를 좁힐 수 있습니다.

예를 들어, Python의 Pandas 라이브러리를 사용하여 특정 조건을 만족하는 데이터를 필터링하는 방법을 살펴보겠습니다.

import pandas as pd

data = {
    '이름': ['홍길동', '김철수', '이영희', '박민수'],
    '나이': [23, 29, 21, 30],
    '도시': ['서울', '부산', '서울', '대구'],
    '점수': [85, 90, 95, 80]
}

df = pd.DataFrame(data)

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

위 코드에서는 나이가 25세 이상인 데이터만을 필터링하여 출력합니다. 이처럼 필터링을 통해 우리는 특정 조건에 맞는 데이터만을 추출할 수 있습니다.

정렬이란?

정렬은 데이터를 특정 기준에 따라 정렬하는 과정입니다. 정렬을 통해 우리는 데이터를 더 잘 이해할 수 있고, 특히 시각화 과정에서 유용합니다. 데이터셋을 특정 컬럼의 값에 따라 오름차순 또는 내림차순으로 정렬할 수 있습니다.

다음은 Pandas를 사용하여 점수를 기준으로 내림차순으로 정렬하는 예제입니다.

# 점수를 기준으로 내림차순 정렬
sorted_df = df.sort_values(by='점수', ascending=False)
print(sorted_df)

위 코드는 점수를 기준으로 데이터프레임을 내림차순으로 정렬합니다. 정렬된 데이터는 분석에 있어 필수적인 패턴을 보다 쉽게 인식할 수 있도록 도와줍니다.

필터링과 정렬의 결합

필터링과 정렬을 결합하면 더욱 강력한 데이터 분석이 가능합니다. 예를 들어, 점수가 85점 이상인 학생을 필터링한 후, 그 결과를 점수 기준으로 정렬할 수 있습니다.

# 점수가 85점 이상인 데이터 필터링
filtered_sorted_df = df[df['점수'] >= 85].sort_values(by='점수', ascending=False)
print(filtered_sorted_df)

위 코드는 점수가 85점 이상인 데이터를 필터링한 후, 그 결과를 점수 기준으로 내림차순 정렬합니다. 이처럼 필터링과 정렬을 결합하여 원하는 데이터만을 효과적으로 추출하고, 이를 명확히 정리할 수 있습니다.

실용적인 활용 예제

실제 데이터 분석에서는 필터링과 정렬을 활용하여 다양한 통계적 정보를 도출할 수 있습니다. 예를 들어, 고객 데이터셋에서 특정 연령대의 구매 패턴을 분석할 때 필터링을 통해 해당 연령대만을 선별하고, 구매 금액을 기준으로 정렬하여 가장 많이 구매한 고객을 찾아낼 수 있습니다.

또한, 웹 로깅 데이터에서 특정 방문자의 행동을 분석할 때도 필터링과 정렬을 활용할 수 있습니다. 특정 페이지를 방문한 사용자의 데이터를 필터링한 후, 페이지 방문 횟수나 체류 시간 등을 기준으로 정렬하여 사용자의 행동 패턴을 이해할 수 있습니다.

마무리

이번 글에서는 데이터 분석에서 필터링과 정렬의 중요성을 살펴보았습니다. 이러한 기법들은 데이터셋을 보다 명확하고 간결하게 만들고, 원하는 정보를 쉽게 도출할 수 있게 도와줍니다. Pandas와 같은 도구를 사용하여 필터링과 정렬을 수행하면 데이터 분석의 효율성을 극대화할 수 있습니다. 데이터 분석을 진행할 때 이 두 가지 기법을 적극 활용하여 더욱 심도 있는 분석을 진행해 보시기 바랍니다.