본문 바로가기

BLOG/데이터분석

[데이터분석] 데이터프레임 : 특정 칼럼의 데이터 종류별로 평균 / 합 구하는 방법 - groupby()

 

데이터프레임으로 데이터분석을 하다 보면, 특정 칼럼(열) 데이터 종류별로 평균이나 합을 구해야 하는 경우가 있을 수 있는데요, 이러한 경우 groupby() 함수를 사용하여 구할 수 있습니다.

 

groupby() 함수는 말 그대로 그룹을 지어주는 함수로, 평균을 구하는 함수 mean()과 전체 합을 구하는 함수 sum() 을 함께 사용함으로써 그룹별 평균과 합을 구할 수 있습니다.

 

 

1. 특정 칼럼, 데이터 종류별로 합 구하기

코드를 보면서 살펴볼텐데요, 먼저 아래와 같은 데이터프레임이 있다고 가정해보겠습니다.

 

import pandas as pd

df = pd.DataFrame(
    {'name': ['coffee', 'tea', 'juice','milk', 'ade'],
     'price': [3000, 4000, 5000, 2000, 5000],
     'rating': [4, 3.5, 3.7, 3, 2],
     'category': [1,2,1,2,2]})

display(df)

 

	name	price	rating	category
0	coffee	3000	4.0	1
1	tea	4000	3.5	2
2	juice	5000	3.7	1
3	milk	2000	3.0	2
4	ade	5000	2.0	2

 

 

위 데이터프레임에서, 'category' 칼럼에서 데이터별로(1과 2) 'price' 칼럼에 있는 데이터 합을 구하는 코드는 다음과 같습니다.

 

df.groupby('category')['price'].sum()

 

category
1       8000
2       11000
Name: price, dtype: int64

 

출력된 결과를 보면, category에 있는 데이터 그룹별로 'price' 칼럼에 있는 데이터들의 합이 잘 구해졌음을 확인할 수 있습니다.

 

 

2. 특정 칼럼, 데이터 종류별로 평균 구하기

마찬가지로, 이번에는 'category' 칼럼에서 데이터별로(1과 2) 'rating' 칼럼에 있는 데이터의 평균을 구해보도록 하겠습니다.

 

df.groupby('category')['rating'].mean()

 

category
1       3.850000
2       2.833333
Name: rating, dtype: float64

 

마찬가지로 그룹별로 평균이 잘 구해졌음을 확인할 수 있습니다.