판다스 기초 6. 피벗, 피벗테이블

도로롱·2022년 10월 13일
0

pandas

목록 보기
7/18

들어가기 전에 pivot의 의미를 알아보자

  • pivot
    피벗이란 중요한 부분을 그대로 두고, 단지 방향만을 전환해서 새로운 것을 만들어 내는것이다.
    예를들어 스타트업에서는 피벗전략이라는 말을 쓰는데 세계 최대의 동영상 공유 플랫폼인 유트브도 원래는 자기소개 동영상을 올리면 메이트를 연결해주는 데이팅 기반 서비스를 기획하고 있었다. 하지만 동영상을 공유하는 사업으로 방향을 바꾸었다. 그러나, 동영상을 업로드 한다는건 유지하고 방향만 전환했다는 점에서 피벗 전략을 썼다고 말할 수 있는 것.

  • 엑셀, 판다스 내에서 피벗 테이블을 알아보자

엑셀의 피벗 테이블로 이해해 보자면,
인덱스 부분이 행의 이름
컬럼 부분이 열의 이름
values는 값
으로 생각할 수 있다. 이제 여기서 한 열을 데려와서 기존에 있는 인덱스와 컬럼으로 새로운 표를 만들게 되는데 이를 피벗 테이블 이라고 한다.

인덱스는 반(ABC) 컬럼은 남과 여로 구성된 피벗 테이블이 만들어지는데, 테이블 값 부분에 한가지 데이터만 들어가는 것이 아니라, 중복으로 들어 갈수도 있다는 점이다. 그러므로 중복으로 데이터가 들어가야 할때를 대비하여 집계함수를 이용하게 된다.

  • 집계함수= 그룹의 값을 하나의 값으로 리턴해주는 함수 여러개의 값이 들어가는 피벗테이블은 집계함수를 정해줘야 한다. ex) 값들의 평균, 값들의 합

  • 엑셀이건 판다스건 피벗테이블을 쓸떄는 그래서 항상 4가지의 값을 정해주어야 하는데

  1. values 2. index 3. coiumns 4. aggfunc(집계함수) 먼저 표를 머릿속에서 구상하여 어떤 표를 얻을지 개요를 만들고, 피벗 테이블을 사용하는 경우에는 집계함수도 잊지말고 잘 정해주어야 한다.

  • 이처럼 멀티 인덱스로 지정하여 피벗 테이블을 만들수도 있다.

  • pivot() : 피벗테이블에 들어가는 집계함수가 없는 형태(3가지만 들어간다)로 집계 함수가 들어가지 않는다 즉, 이 말은 vaules에 굳이 숫자가 들어갈 필요가 없다는 것이고, values 값에 문자열이 들어가도 상관이 없다

오늘의 목표

  1. df을 피벗테이블로 만들어 본다. df.pivot_table()
  2. df를 멀티 인덱스인 피벗테이블로 만든다. 인자들을 리스트 안에 묶어준다
  3. 숫자가 아닌 문자열을 담은 열을 value로 하는 df를 피벗해 본다. pivot()

1. 판다스 불러오고 데이터 맛보기

2. 피벗 테이블 만들어 보기

  • df.pivot_table(values, index=[], columns=[], aggfuch=집계함수)

3. 멀티 인덱스가 들어간 피벗 테이블 만들어보기

4. 피벗함수 사용하기

  • value 값에 이름이라는 문자열을 넣을수 있음을 확인하기

  • 피벗 테이블처럼 values라고 적지 않고 바로 인자만 적을경우 타입 에러가 뜨게 되므로 피벗 함수 사용시에는 values=라는 인자를 잊지말고 적어줘야 함을 기억하자

profile
질문 없는 성장은 없다. 3년차 데이터 분석가

0개의 댓글