본문 바로가기
Python

Python 통계 메서드 비교: agg(), describe()

by ssury94 2025. 1. 23.

Python과 Pandas를 사용하여 데이터를 분석하다 보면, agg()와 describe() 메서드를 활용하여 데이터를 요약할 수 있습니다. 이 두 메서드는 비슷한 목적을 가지고 있지만, 사용하는 방식과 결과가 다릅니다. 🧐 아래에서 두 메서드의 차이를 자세히 살펴보겠습니다.


🧮 agg() 메서드

  • 설명: 특정 열(column)이나 전체 데이터프레임에 대해 여러 통계 함수(사용자 정의 함수 포함)를 적용할 수 있습니다.
  • 사용 목적: 데이터의 요약 통계를 커스터마이징하고 싶을 때 유용합니다.
  • 특징:
    • 다양한 함수(기본 제공 함수 및 사용자 정의 함수)를 적용 가능.
    • 여러 열에 대해 다른 함수를 적용할 수 있음.
    • 결과를 유연하게 제어할 수 있음.

📌 예제:

import pandas as pd

# 데이터 생성
data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}
df = pd.DataFrame(data)

# agg()를 사용한 요약 통계 계산
result = df.agg({
    'A': ['sum', 'mean'],   # A 열: 합계와 평균 계산
    'B': ['min', 'max']     # B 열: 최소값과 최대값 계산
})

print(result)

결과:

          A    B
sum   10.0  NaN
mean   2.5  NaN
min    NaN  5.0
max    NaN  8.0

📊 describe() 메서드

  • 설명: 데이터프레임이나 시리즈의 기본적인 요약 통계를 자동으로 계산합니다.
  • 사용 목적: 데이터 분포를 빠르게 파악하고 싶을 때 적합합니다.
  • 특징:
    • 평균, 표준편차, 최소값, 사분위수 등 기본 통계를 제공합니다.
    • 숫자형 데이터와 범주형 데이터 모두 지원.
    • 출력 형식이 고정되어 있음.

📌 예제:

# describe()를 사용한 요약 통계 계산
result = df.describe()
print(result)

결과:

               A         B
count  4.000000  4.000000
mean   2.500000  6.500000
std    1.290994  1.290994
min    1.000000  5.000000
25%    1.750000  5.750000
50%    2.500000  6.500000
75%    3.250000  7.250000
max    4.000000  8.000000

🔍 주요 차이점

특징 agg() 💡 describe() 📈

주요 목적 특정 함수로 맞춤형 요약 통계 계산 데이터의 전반적인 기본 통계 확인
함수 적용 사용자 정의 함수 및 다중 함수 지원 고정된 통계 함수만 지원
범주형 데이터 지원하지 않음 범주형 데이터 요약 가능
결과 출력 제어 매우 유연함 출력 형식이 고정됨

🏁 결론

  • **agg()**는 유연성과 맞춤형 계산이 필요할 때 적합합니다.
  • **describe()**는 데이터 전반의 요약을 빠르게 확인하고 싶을 때 유용합니다.

이 두 메서드를 적절히 활용하면 데이터 분석의 효율성을 크게 높일 수 있습니다! 🚀