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()**는 데이터 전반의 요약을 빠르게 확인하고 싶을 때 유용합니다.
이 두 메서드를 적절히 활용하면 데이터 분석의 효율성을 크게 높일 수 있습니다! 🚀