데이터프레임 열별 집계 : agg()

30 P
QUESTION 10 #326
데이터프레임에서 agg() 함수를 이용하여 그룹화된 데이터에 대해 각 열마다 평균과 합계를 구하는 프로그램입니다. 빈칸을 채워보세요.
main.py
import pandas as pd

data = {
    "지역": ["서울", "부산", "서울", "제주", "부산", "서울"],
    "판매량": [10, 15, 7, 20, 12, 11],
    "수익": [100, 150, 80, 250, 130, 120]
}
df = pd.DataFrame(data)

# 지역별로 판매량의 평균과 수익의 합계를 동시에 계산
region = df.groupby("지역").({
    "판매량": "mean",
    "수익": "sum"
})

print(region)
실행 결과 예시
      판매량   수익
지역            
부산  13.5  280
서울   9.33  300
제주  20.0  250
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

agg()로 열마다 다른 집계 적용하기

agg()열마다 서로 다른 집계 함수를 적용할 수 있는 유연한 함수입니다.

기본 문법

df.groupby("기준열").agg({
    "열1": "함수1",
    "열2": "함수2"
})

코드 분석

region = df.groupby("지역").agg({
    "판매량": "mean",    # 판매량은 평균
    "수익": "sum"        # 수익은 합계
})

동작 과정

1단계: 지역별 그룹 생성

서울 그룹: 판매량 [10, 7, 11]  수익 [100, 80, 120]
부산 그룹: 판매량 [15, 12]     수익 [150, 130]
제주 그룹: 판매량 [20]         수익 [250]

2단계: 열마다 다른 함수 적용

       판매량(mean)   수익(sum)
서울:  (10+7+11)/3=9.33   100+80+120=300
부산:  (15+12)/2=13.5     150+130=280
제주:  20/1=20.0          250

agg() vs 단일 함수 비교

# 방법 1: 모든 열에 같은 함수
df.groupby("지역").mean()      # 모든 열의 평균
df.groupby("지역").sum()       # 모든 열의 합계

# 방법 2: 열마다 다른 함수 (agg)
df.groupby("지역").agg({
    "판매량": "mean",   # 판매량은 평균
    "수익": "sum"       # 수익은 합계
})

agg()에 사용 가능한 함수

문자열 동작
"sum" 합계
"mean" 평균
"max" 최대값
"min" 최소값
"count" 개수
"median" 중간값
"std" 표준편차

하나의 열에 여러 함수 적용

df.groupby("지역").agg({
    "판매량": ["mean", "sum", "max"]
})
# 판매량의 평균, 합계, 최대값을 동시에 계산

💡 핵심: agg()는 열마다 다른 계산을 적용할 때 사용하는 가장 유연한 집계 함수입니다.