본문 바로가기

Phython/pandas

groupby(), groups.func()

describe()을 사용하여 join_data 테이블의 각종 통계량들을 먼저 확인해보자. 

그림에서 확인할 수 있다시피, 가장 비싼 가격과 가장 저렴한 가격, 분위수 그리고 나이대 평균 등 다양한 정보들을 확인해볼 수 있다. quantity를 확인해보면, 가장 큰 수가 4이고 75%가 1이기 때문에 대부분의 고객이 PC 한 대를 구입한다는 것을 알 수 있습니다

 

 

 


    df.groupby("column name")

위와 같은 데이터가 있다고 가정할 때,  월별 (payment_month)별로 매출(price)을 집계하고자 할 때 groupby()를 사용한다. 

join_data.groupby("payment_month").sum()["price"] 라는 문장을 사용하자

 

이는 join_data를 월별로 그룹 지어서 price의 합계를 작성하라는 명령문이다. 

 결과까지 해석을 해 보자. 19년도 2월부터 7월까지의 기록이 나와있고, 매출이 2월부터 4월까지는 늘어나는 추세이다가 5월에 한 번 꺾인다. 그리고 이후에는 다시 올라가는 추세를 보이고 있다. 가장 매출이 높은 달은 7월이고, 평균적으로 한 달에 1억6천의 매출을 내고 있으며, 연간 수익은 1.6*12  으로 약 20억원의 매출을 기대할 수 있다. 

 

 


2개 이상의 컬럼을 기준으로 groupby 하는 경우
df.groupby(["column name1", "column name2"])

groups.func()
  • groups.min()
  • groups.max()
  • groups.mean()
  • groups.aggregate([min,max])
  • groups.aggregate(['mean', 'std'])

'Phython > pandas' 카테고리의 다른 글

loc(), iloc()  (0) 2023.06.20
matplotlib()  (2) 2023.06.13
데이터 프레임 합치기 concat(), merge(), join  (0) 2023.06.06