본문 바로가기
판다스/중급 판다스

[pandas] agg 함수 개념 정립

by 김판다t 2024. 10. 20.

판다스의 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 구매 페이지