데이터 분석/Pandas

Pandas 집계 - pivot_table vs. groupby

haloaround 2022. 8. 15. 18:53

 

 


기본 통계량 확인

- 기본 통계량: describe()

 

조건에 따른 변수통계량을 요약한 테이블

- 출력물 자체가 결과물인 경우에는 pivot_talbe

- 출력물이 중간 산출물인 경우에는 groupby (as_index=False)

 

즉, 우리는 groupby 를 많이 쓰게 될 것이다! 


 

describe()

df.describe()

 

 

pd.pivot_table()

데이터프레임, 행 조건, 열 조건, 집계대상 컬럼목록, 집계함수 

pd.pivot_table(
    data=df, 
    index='제품', columns='쇼핑몰 유형', 
    values=['수량', '판매금액'], aggfunc='mean'
)

df.pivot_table(
    index='제품', columns='쇼핑몰 유형', 
    values=['수량', '판매금액'], aggfunc='mean'
)

 

 

df.groupby()

by: 분할기준 컬럼 으로 GroupByObject 출력한다. 

이후 집계대상 컬럼목록과 집계함수를 적용한다. 

 

출력물이 중간산출물인 경우 as_index=False

df.groupby(
	by=['쇼핑몰 유형'], as_index=False
)['수량', '판매금액'].agg(['mean', 'max'])

 

.agg() 를 통해 사용자 정의 집계함수 활용 가능

def my_func(value):
    return max(value)-min(value)

df.groupby(
	by=['쇼핑몰 유형', '제품'], as_index=False
)['수량', '판매금액'].agg(my_func)