[26일차]피봇테이블(pivot table)

김준석·2024년 1월 1일

엑셀, 스프레드 시트의 피봇 테이블을 Pandas에서도 만들 수 있다.

pandas 라이브러리에서는 pivot_table이라는 함수를 지원해준다.

pivot_table 메소드 문법

pivot_table(집계 하려는 함수명,values, index, columns, aggfunc)

  • index: 새 피벗 테이블의 인덱스로 사용할 열을 지정한다.⭐
  • values: 집계하려는 열 이름을 지정한다.⭐
  • aggfunc: 평균('mean')처럼 집계 함수를 사용한다.⭐
    aggfunc : 집계함수(aggregate function)
    aggfunc=np.sum, aggfunc=sum, aggfunc='sum'로 집계 함수 사용가능
  • columns: 새 피벗 테이블의 열로 사용할 열 이름을 선택한다.
  • fill_value: NA/NaN 값을 대체할 값을 설정한다.
  • margins: 부분 합계를 포함한다.

예시1

예를 들어 아래와 같은 테이블이 있다고 해보자.

여기서 각 도시의 평균 온도를 구하고자 할 때 아래와 같은 코드를 작성하면 된다.

pivot = pd.pivot_table(df1,values='온도', index='도시', aggfunc='mean')
pivot

values에는 집계하려는 온도를

index에는 인덱스로 사용할 열 이름

aggfunc에는 평균을 의미하는 mean을 넣어준다.

결과값

예시2

신장을 기준으로 모든 값의 평균을 구해보자.

pivot_df = pd.pivot_table(df, index = '신장',aggfunc='mean')
pivot_df

해당 데이터로 신장에 따른 상관관계를 구할 수 있을것 같다.

신장을 기준으로 [3점슛]열과 [골밑슛]열의 평균을 구해보자. 이때 소숫점 2번째 까지 나오도록 해보자.

pivot_df = pd.pivot_table(df, index = '신장', values = ['3점슛','골밑슛'],aggfunc=np.mean)
pivot_df.round(2)

0개의 댓글