BLOG/데이터분석
[데이터분석] 데이터프레임 : 특정 칼럼의 데이터 종류별로 평균 / 합 구하는 방법 - groupby()
알디노
2021. 3. 10. 12:42
데이터프레임으로 데이터분석을 하다 보면, 특정 칼럼(열) 데이터 종류별로 평균이나 합을 구해야 하는 경우가 있을 수 있는데요, 이러한 경우 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
마찬가지로 그룹별로 평균이 잘 구해졌음을 확인할 수 있습니다.