GroupBy와 집계 함수
pandas에서 가장 유용한 기능 중 하나는 데이터를 그룹화하고 각 그룹에 대해 계산을 수행하는 능력입니다.
이는 지역별 매출, 학급별 평균 점수, 상품별 매출 같은 범주별 패턴을 분석할 때 유용합니다.
groupby()
메서드는 하나 이상의 열 값을 기준으로 데이터를 여러 그룹으로 나눕니다.
그룹화한 뒤에는 다음과 같은 집계 함수를 적용할 수 있습니다.
sum()
: 그룹별 합계mean()
: 그룹별 평균count()
: 그룹의 행 수max()
: 그룹별 최댓값min()
: 그룹별 최솟값
GroupBy 예제
여러 도시(예: 서울, 부산, 대구)의 매출 거래 데이터가 있다고 가정해 보겠습니다.
이 데이터에 대해서는 다음과 같은 작업을 할 수 있습니다.
- 도시별 총매출 계산
- 매장별 평균 거래 금액 구하기
- 권역(지역)별 거래 건수 세기
Pandas를 사용하면 몇 줄의 코드로 쉽게 처리할 수 있습니다. 예를 들어 도시별 총매출을 계산하려면 다음과 같이 작성할 수 있습니다.
도시별 총매출 계산
import pandas as pd df = pd.DataFrame({ "도시": ["서울", "서울", "부산", "부산", "대구", "대구"], "매출액": [100000, 150000, 200000, 250000, 300000, 350000] }) df.groupby("도시")["매출액"].sum() # 출력: # 도시 # 서울 250000 # 부산 450000 # 대구 650000
어떻게 사용할까요?
groupby()
메서드는 다음과 같은 기본 패턴에 따라 사용할 수 있습니다.
기본 GroupBy 문법
df.groupby("열이름")["대상_열"].agg("집계_함수")
또한 .agg()
를 사용하면 한 번에 여러 함수를 적용할 수 있습니다.
예를 들어 카테고리별 금액에 대해 합계, 평균, 개수를 한 번에 계산하려면 다음과 같이 작성할 수 있습니다.
여러 집계를 한 번에 적용
df = pd.DataFrame({ "Category": ["A", "A", "B", "B", "C", "C"], "Amount": [100, 200, 300, 400, 500, 600] }) df.groupby("Category")["Amount"].agg(["sum", "mean", "count"]) # 출력: # sum mean count # 0 300 150.0 2 # 1 700 350.0 2 # 2 1100 550.0 2
출력 결과에서 sum
은 합계, mean
은 평균, count
는 개수를 의미합니다.
0
은 카테고리 A
, 1
은 카테고리 B
, 2
은 카테고리 C
를 의미합니다.
Quiz
0 / 1
Pandas의 groupby 메서드를 사용하면, 그룹화된 데이터에 sum, mean, count와 같은 집계 함수를 적용할 수 있습니다.
○
✕
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말