데이터는 Product와 Category에 중복한 데이터가 존재하는 long format형식의 데이터 입니다.
2.2 groupby를 사용한 기본 집계
이제, Product 열을 기준으로 데이터를 그룹화하고, 각 제품의 총판매액과 총판매량을 계산해 보겠습니다.
# 'Product' 열을 기준으로 그룹화하여 총판매액과 총판매량 계산grouped = df.groupby('Product').agg({'Sales': 'sum', 'Quantity': 'sum'})# 결과 출력grouped
Sales
Quantity
Product
A
740
8
B
570
7
C
470
6
groupby('Product'): Product 열을 기준으로 데이터를 그룹화합니다.
agg({'Sales': 'sum', 'Quantity': 'sum'}): 각 그룹에 대해 Sales와 Quantity 열의 합계를 계산합니다.
2.3 다중 그룹화와 여러 집계 함수 적용
groupby는 여러 열을 기준으로 그룹화하거나, 여러 집계 함수를 동시에 적용할 수도 있습니다. 다음 예제는 Category와 Product 열을 함께 그룹화한 후, Sales의 총합, 평균, Quantity의 최대값을 계산하는 방법을 보여줍니다.
# 'Category'와 'Product' 열을 기준으로 그룹화하여 집계 연산 수행grouped = df.groupby(['Category', 'Product']).agg({'Sales': ['sum', 'mean'],'Quantity': 'max'})# 결과 출력grouped
Sales
Quantity
sum
mean
max
Category
Product
Electronics
A
370
185.0
3
B
390
195.0
3
C
180
180.0
3
Furniture
A
370
185.0
2
B
180
180.0
2
C
290
145.0
2
groupby(['Category', 'Product']): Category와 Product 열을 함께 그룹화합니다.
agg({'Sales': ['sum', 'mean'], 'Quantity': 'max'}): 각 그룹에 대해 Sales의 총합과 평균, Quantity의 최대값을 계산합니다.
2.4 groupby 통계함수
Pandas의 groupby에서 agg 함수를 사용할 때, 다양한 통계 함수를 적용할 수 있습니다. 이들 통계 함수는 그룹화된 데이터에 대해 요약 통계를 계산하고, 데이터의 특정 속성을 분석하는 데 유용합니다. 여기서는 agg에서 자주 사용되는 주요 통계 함수들을 설명하겠습니다.
groupby는 매우 다양한 상황에서 사용할 수 있습니다. 몇 가지 활용 예시는 다음과 같습니다:
매출 분석:
제품별, 지역별, 월별로 매출 데이터를 그룹화하여 각 항목의 매출 총합, 평균, 성장률 등을 계산할 수 있습니다.
고객 행동 분석:
고객을 기준으로 구매 빈도, 평균 구매 금액, 최대 구매 금액 등을 계산하여, 고객 세분화 및 타겟 마케팅에 활용할 수 있습니다.
시간 시리즈 분석:
날짜나 시간 단위로 데이터를 그룹화하여 일별, 주별, 월별로 집계된 데이터를 분석할 수 있습니다.
4. 결론
Pandas의 groupby 기능은 데이터를 그룹화하여 다양한 방식으로 요약하고 분석하는 데 매우 유용합니다. 특히 범주형 데이터, 시간 시리즈 데이터, 반복되는 항목을 처리할 때 효과적입니다. 위에서 소개한 예제와 같이 groupby를 활용하면, 데이터를 보다 효율적으로 분석하고, 의미 있는 인사이트를 도출할 수 있습니다.