데이터프레임으로 데이터분석을 하다 보면, 특정 칼럼(열) 데이터 종류별로 평균이나 합을 구해야 하는 경우가 있을 수 있는데요, 이러한 경우 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
마찬가지로 그룹별로 평균이 잘 구해졌음을 확인할 수 있습니다.
'BLOG > 데이터분석' 카테고리의 다른 글
[데이터분석] matplotlib : 막대그래프 간단하게 만들기 (0) | 2021.03.10 |
---|---|
[데이터분석] matplotlib : grid 설정 / 해제하기 (가로 방향 / 세로 방향) (0) | 2021.03.10 |
[데이터분석] 데이터프레임 : 칼럼(열) 이름 변경하는 방법 - rename() (0) | 2021.03.10 |
[데이터분석] 데이터프레임 : inplace = True 뜻 (0) | 2021.03.10 |
[데이터분석] 데이터프레임 : 특정 칼럼(열) 삭제하기 - drop() (0) | 2021.03.10 |