Guts !!

[패스트 캠퍼스 수강 후기] 올인원 패키지: 직장인을 위한 파이썬 데이터 분석 100% 환급 챌린지 28회차 미션 본문

FastCampus[직장인] 위한 파이썬(미션)

[패스트 캠퍼스 수강 후기] 올인원 패키지: 직장인을 위한 파이썬 데이터 분석 100% 환급 챌린지 28회차 미션

버블스텝 2020. 11. 15. 22:10

[ Python 필수 스킬 - Pandas ]

 

- 피벗테이블(Pivot_table)

 


오늘 포스팅은 피벗테이블에 대한 내용입니다. 

피벗 테이블이란 기존 데이터의 칼럼을 재구성해서 데이터에 대한 통계를 한눈에 파악할 수 있게 정리한 표를 의미 합니다. 피벗 기능을 활용하면 데이터를 원하는 형태로 손쉽게 집계할 수 있습니다. 가령 예를 들어서 데이터를 날짜별, 연령별로 집계해달라, "성별 지역별로 데이터를 집계해 달라" 와 같은 요구를 손쉽게 해결 집계해서 확인 할 수 있습니다.

 

sample.pivot = smaple.pivot_tabl(values = "입국객수",
								 index = "국가명",
                                 columns= "기준년월",
                                 aggfunc="mean")
                                 

위 코드를 하나씩 풀어보면 조금 이해가 쉽게 될 수 있습니다.

1. sample.pivot_table() => 샘플 데이터를 피벗한다.

2. value ="입국객수"  => 피벗 테이블 내부에 들어갈 값은 입국객수로 한다.

3. index = "국적명" => 피벗테이블의 Row index는 국적명으로 배치함.

4. columns = "기준년월"

5. aggfunc = "mean" => value 입국객수를 index와 컬럼 기준으로 평균을 계산한다.

 

 

 

위에서 반영 구역을 살펴 보면 위와 같습니다. 피벗 테이블을 만들 때  index와 columns는 항상 존재 해야 되는 것은 아니며 필요에 따라 index만 배치할 수 있고 또는 column만 배치 할 수 있다는 것이 특징이다.

 


실습을 해보자

 

1) 사용할 데이터 불러오기

weight_loss = pd.read_csv("weight_loss.csv")

weight_loss.head()

2) week4 인덱스 만 추출하기

week4 = weight_loss(weight_loss["week"] =="week 4"]

weight_loss.query('week =="week 4")

 

 

[Pivot 형성] 

기존의 데이터 프레임 구조를 변경하고자 할 때 사용하는 Pivot 

옵션에는 index , columns, values가 있다. 

 

[ values 미설정 ] 

week4_pivot = week4.pivot(index = "Month", columns = "Name") 

week4_pivot 

 

values를 설정하지 않고, 피벗 테이블을 만들었다. 그결과 인덱스와 열 값으로 지정되지 않은 열인 week 열과 weight 열의 values로 pivot table이 생성되었다. 

 

[ index 미설정 ] 

week4_pivot= week4.pivot(columns = "Name", values="Weight")

 

인덱스를 설정하지 않고, 피벗테이블을 만들면 인덱스 자리에는 숫자가 들어간다. 

일치하는 values가 없는 자리에는 nan 값이 들어간다. 

 

[ Total ] 

index, columns, values 모두 지정하고 피벗 테이블을 만들었습니다. 달별 4주차 사람들의 몸무게가 담긴 데이터 프레임이 생성된 것을 볼 수 있습니다. 

 


오늘의 포스팅은 여기까지 입니다. 주말 잘보내고 월요일 부터 다음 강의를 시청하겠습니다. 

 

해당 강의 이미지 링크 

https://bit.ly/3havsav