groupby

pandas groupby 소개

groupby 소개

groupby데이터를 특정 기준으로 그룹화하고, 각 그룹에 대해 다양한 연산(합계, 평균, 최댓값, 최솟값 등)을 적용할 수 있는 매우 강력한 메서드입니다.

사용법1 - 기본

import pandas as pd

# 예제 데이터프레임 생성
data = {
    'Category': ['A', 'B', 'A', 'B', 'C', 'C', 'A'],
    'Value': [10, 20, 15, 10, 30, 40, 25]
}
df = pd.DataFrame(data)

# Category 열로 그룹화하고 Value의 합계 계산
grouped = df.groupby('Category')['Value'].sum()
print(grouped)

출력 결과

Category
A    50
B    30
C    70
Name: Value, dtype: int64

사용법 2 - 여러 열로 그룹화

# Category와 Value가 같은 그룹으로 그룹화
data = {
    'Category': ['A', 'A', 'B', 'B', 'C', 'C', 'A'],
    'SubCategory': ['X', 'Y', 'X', 'Y', 'X', 'Y', 'X'],
    'Value': [10, 20, 15, 10, 30, 40, 25]
}
df = pd.DataFrame(data)

# Category와 SubCategory로 그룹화
grouped = df.groupby(['Category', 'SubCategory'])['Value'].sum()
print(grouped)

출력 결과

Category  SubCategory
A         X             35
          Y             20
B         X             15
          Y             10
C         X             30
          Y             40
Name: Value, dtype: int64

사용법 3 - 그룹화 결과를 데이터프레임으로 변환

# 그룹화 결과를 데이터프레임으로 변환
grouped_df = df.groupby(['Category', 'SubCategory'], as_index=False)['Value'].sum()
print(grouped_df)

출력 결과

  Category SubCategory  Value
0        A           X     35
1        A           Y     20
2        B           X     15
3        B           Y     10
4        C           X     30
5        C           Y     40

사용법 4 - 조건부 필터링 후 그룹화

# Value가 20 이상인 값만 그룹화
filtered_grouped = df[df['Value'] >= 20].groupby('Category')['Value'].sum()
print(filtered_grouped)

출력 결과

Category
A    45
C    70
Name: Value, dtype: int64

sort_values

Related Docs

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