• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

groupby, pivot_table 차이점이 궁금합니다

20.10.02 18:22 작성 조회수 1.83k

1

안녕하세요 선생님,

공부하다가 궁금한게 생겼는데 groupby와 pivot_table 함수의 용도가 거의 똑같은 거 같은데

만약 용도가 다르다면 어느 부분에서 다르고

반약 용도가 비슷하다면 선생님께선 언제 groupby를 쓰시고 언제 pivot_table을 쓰는지 팁 같은게 있을까요

항상 양질의 강의 감사드립니다!

답변 1

답변을 작성해보세요.

2

안녕하세요.

좋은 질문을 주셨네요.

1. 기본적인 연산, 평균, 분산, 표준편차, 최댓값, 최솟값, 중앙값 등의 값을 연산하기 위한 목적으로 사용할거라면 사실 groupby를 쓰든 pivot_table을 쓰든 큰 상관이 없습니다.

다만 groupby 가 좀 더 속도가 빠르고 반환값이 pivot_table은 항상 데이터프레임으로 groupby는 컬럼이 series 형태라면 series 로 반환된다는게 가장 큰 차이점으로 보일거에요.

2. pivot 은 데이터의 형태를 바꿀 때 사용해요.

그래서 pivot은 연산이 안 되는데 pivot_table 은 연산을 할 수 있어요.

그래서 pivot과 pivot_table의 차이는 연산을 할 수 있느냐 없느냐에요.

https://pandas.pydata.org/pandas-docs/stable/user_guide/reshaping.html

3. 그럼 비슷하게 groupby 는 좀 더 다양한 연산(aggregation), 변형(transform) 등을 할 수 있고 인덱스 레벨에 따라 다른 연산을 할 수 있어요.

특히 시계열 데이터로 증권 데이터의 시세나 이동평균, 누적 값 등을 구한다면 groupby를 사용하시는게 좋습니다.

groupby의 연산은 다음 문서에 잘 정리되어 있어요.

https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html 

위 이미지 출처는 단 두 장의 문서로 판다스를 배워볼 수 있는 cheat sheet 에서 가져왔습니다.

https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf

아래에 있는 기능들이 위에 링크한 판다스 문서에 있는  내용인데요.  아래의 내용은 pivot_table  보다는 groupby를 사용하는 것이 좋습니다.