agg

pandas agg 소개

agg 소개

agg그룹화된 데이터프레임에 다양한 집계 함수(함수 적용) 를 지정할 수 있도록 하는 매우 강력한 메서드입니다. 여러 열에 대해 서로 다른 집계 함수를 쉽게 적용할 수 있습니다.

사용법1 - 기본

import pandas as pd

# 예제 데이터프레임 생성
data = {
    'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
    'Value1': [10, 20, 15, 10, 30, 40],
    'Value2': [5, 8, 7, 6, 9, 10]
}
df = pd.DataFrame(data)

# Category 별로 Value1의 합계 계산
grouped = df.groupby('Category')['Value1'].agg('sum')
print(grouped)

출력 결과

Category
A    30
B    25
C    70
Name: Value1, dtype: int64

사용법 2 - 여러 집계 함수 적용

# Category 별로 Value1의 합계와 평균 계산
grouped = df.groupby('Category')['Value1'].agg(['sum', 'mean'])
print(grouped)

출력 결과

          sum  mean
Category             
A           30  15.0
B           25  12.5
C           70  35.0

사용법 3 - 여러 열에 서로 다른 집계 함수 적용

# Value1은 합계와 평균, Value2는 최대값과 최소값 계산
grouped = df.groupby('Category').agg({'Value1': ['sum', 'mean'], 'Value2': ['max', 'min']})
print(grouped)

출력 결과

          Value1         Value2     
             sum  mean     max min
Category                            
A             30  15.0      8   5
B             25  12.5      7   6
C             70  35.0     10   9

사용법 4 - 집계 함수에 이름 지정

# 결과 컬럼 이름을 지정하여 가독성 향상
grouped = df.groupby('Category').agg(
    Total_Value1=('Value1', 'sum'),
    Average_Value1=('Value1', 'mean'),
    Max_Value2=('Value2', 'max'),
    Min_Value2=('Value2', 'min')
)
print(grouped)

출력 결과

          Total_Value1  Average_Value1  Max_Value2  Min_Value2
Category                                                      
A                   30            15.0           8           5
B                   25            12.5           7           6
C                   70            35.0          10           9

사용법 5 - 사용자 정의 함수 적용

# 사용자 정의 함수: 범위 (최대값 - 최소값)
def value_range(x):
    return x.max() - x.min()

# 사용자 정의 함수 적용
grouped = df.groupby('Category')['Value1'].agg(value_range)
print(grouped)

출력 결과

Category
A    10
B     5
C    10
Name: Value1, dtype: int64

cumprod
groupby

Related Docs

NCloud LB & SourcePipeline 구축하기
Data 분석 기초
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지