본문 바로가기
Python/Pandas

Pandas의 pivot_table(피벗 테이블) 사용하기

by healingmau 2022. 5. 4.

 

Pandas의 pivot_table(피벗 테이블) 사용하기

 

1. pivot_table(피벗 테이블)이란?

 

우리는 pivot 기능을 액셀에서

많이 접했을 것입니다.

 

데이터 열 중에서 필요한 자료만을 뽑아

새롭게 표로 작성해 주는 기능인데요.

 

pivot_table(피벗 테이블)은 쉽게 말해서

세로 데이터를 가로 데이터로

변경해 주는 역할을 합니다.

 

"피봇팅 한다~"
컬럼의 값을 열로 만드는것!!

 

pivot_table(피벗 테이블)을 사용하면

임의대로 데이터를 정렬하고

필터링할수 있습니다.

 


 

2. pivot_table(피벗 테이블) 사용법

 


              pandas.
pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None,
              margins=False, dropna=True, margins_name='All', observed=False, sort=True)

출처 : https://pandas.pydata.org/docs/reference/api/pandas.pivot_table.html

 

 

(1)

먼저, 데이터프레임 자료를 불러옵니다.

 

 

(2)


pd.pivot_table( df, index=['Name'])

'Name' 컬럼을 기준으로

수치 데이터를 화면에 보여줍니다.

index=['Name']는 인덱스를 'Name'으로

하라는 명령입니다.

 

'Name' 외에 따로 지정해주지 않으면,

기본적으로 숫자 데이터의 컬럼들만

가져와 화면에 보여줍니다.

 

pivot_table(피벗 테이블)

똑같은 데이터들이 있으면 합쳐서

유니크한 인덱스로 만들되,

똑같은 인덱스에 해당되는 데이터들이 있으면

평균수치를 구합니다.

(mean 평균이 기본값)

 

 

(3)


pd.pivot_table( df, index=['Name'], aggfunc=np.sum)

 

그런데 내가 원하는 수치는

평균치가 아닌 각 이름에 해당되는

가격과 컴퓨터 개수의 합인데요.

 

이럴때는 aggfunc 파라미터(매개변수)를 써서

더하라는 np.sum을 입력해야 합니다.

 

평균값(기본) aggfunc=mean
최상값 aggfunc=max
최소값 aggfunc=min
더한값 aggfunc=sum

 

(4)


pd.pivot_table(df, index=[ 'Manager', 'Rep' ], aggfunc=np.sum)

 

index로 두개의 컬럼을 가져올수 있습니다.

이럴때는 리스트에 묶어서 해주면 됩니다.

 

 

(5)


pd.pivot_table(df, index=[ 'Name' ], values=[ 'Price', 'Quantity'], aggfunc=np.sum)

수치 데이터가 있는 컬럼이 많은 경우

내가 선택한 컬럼만 가져올수도 있습니다.

댓글