판다스의 agg 함수
agg 함수란?
데이터 분석을 할 때 여러 통계량을 한 번에 계산해야 하는 경우가 많습니다. 판다스의 agg 함수는 이러한 작업을 손쉽게 처리할 수 있는 함수입니다. agg 함수는 여러 집계 함수를 동시에 적용할 수 있으며, 사용자 정의 함수도 지원합니다. 이번 글에서는 agg 함수의 기본적인 사용법과 사용자 정의 함수의 활용법을 알아보겠습니다.
예시와 함께 설명을 제공하는 것이 이해를 돕는 데 효과적이므로 간단한 데이터프레임을 만들어보겠습니다.
import pandas as pd
pd.options.display.float_format = '{:.3f}'.format # 소수점 셋째 자리 출력
# 예시 데이터프레임 생성
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8]
})
df
agg 함수로 여러 집계 함수 한 번에 적용하기
agg 함수는 여러 집계 함수를 동시에 적용할 수 있는 강력한 도구입니다. 아래 예시는 각 열에 대해 mean(평균), std(표준편차), min(최소), max(최대)을 동시에 적용합니다.
# 여러 집계 함수 적용
df.agg(['mean', 'std', 'min', 'max'])
output
agg 함수를 사용하면 각 열에 대해 다양한 통계량을 한 번에 계산할 수 있습니다.
agg 함수로 사용자 정의 함수 적용하기
agg 함수의 또 다른 기능은 사용자 정의 함수를 적용할 수 있다는 점입니다. 예를 들어, 표준편차를 더하거나 빼는 사용자 정의 함수를 만들어 적용할 수 있습니다. 이때, 함수의 이름이 결과의 인덱스로 사용되므로 lambda 함수보다는 def 키워드로 함수를 정의하는 것이 더 편리합니다.
# 사용자 정의 함수
def mean_add_std(s):
return s.mean() + s.std()
def mean_sub_std(s):
return s.mean() - s.std()
# 사용자 정의 함수 포함 agg 적용
df.agg(['mean', 'std', mean_sub_std, mean_add_std])
output
groupby와 agg
판다스의 agg 함수는 매우 유용하지만, 판다스가 주로 원시 데이터(raw data)를 처리하는 데 사용되기 때문에 groupby와 함께 적용되는 경우가 많습니다. 데이터를 그룹화한 후 여러 통계량을 동시에 계산하는 데 agg 함수는 특히 효과적입니다. groupby와 함께 사용하는 agg 함수의 작동 방식은 내용이 방대하므로, 이후 별도의 지면에서 자세히 설명하도록 하겠습니다.
결론
판다스의 agg 함수는 여러 집계 함수를 동시에 적용할 수 있을 뿐만 아니라, 사용자 정의 함수도 지원해 다양한 통계량을 계산하는 데 활용됩니다.
교보문고 구매 페이지, 알라딘 구매 페이지, yes24 구매 페이지
'판다스 > 중급 판다스' 카테고리의 다른 글
[pandas] replace 함수와 map 함수의 차이점 (3) | 2024.10.24 |
---|---|
[pandas] transform 함수 개념 정립 (0) | 2024.10.20 |
[pandas] 두 데이터 프레임에 공통으로 존재하는 행 추출하기 (0) | 2024.10.16 |
[pandas] period 자료형의 장점 (0) | 2024.10.16 |
[pandas] 특정 열의 값을 기준으로 행을 선택하는 방법 (0) | 2024.05.22 |