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) |
수치 데이터가 있는 컬럼이 많은 경우
내가 선택한 컬럼만 가져올수도 있습니다.
'Python > Pandas' 카테고리의 다른 글
NaN을 처리하는 전략 - NaN 없애는 방법, Nan을 다른 값(각 컬럼의 평균등)으로 셋팅하는 방법 (0) | 2022.05.06 |
---|---|
판다스 데이터프레임의 replace 함수 - 이상한 값을 np.nan으로 바꾸는것 (0) | 2022.05.06 |
구글 맵 API - Geocoding API 설정하는 방법 (0) | 2022.05.04 |
판다스(pandas) Series(시리즈) 연산 (0) | 2022.05.02 |
차트 그리기할때 한글 안깨지게 하는법 (0) | 2022.05.02 |
댓글