SW개발 지식 쌓기

판다스(Pandas) 튜토리얼(tutorial) - 변형(Reshaping),스택(stack),피봇테이블(pivot_table) 본문

Python/Pandas

판다스(Pandas) 튜토리얼(tutorial) - 변형(Reshaping),스택(stack),피봇테이블(pivot_table)

bykitty 2019. 3. 14. 11:48
반응형
  • 패키지 import

튜토리얼을 진행하기 위해서는 아래의 패키지를 import 해야한다.

 




  • 변형

 


Stack


 

DataFrame의 열에 있는 단계를 stack() 메소드를 통해 압축하기

 

 

 

[95] 내장 함수인 zip 메소드를 통해서 리스트 자료형 생성

* zip 메소드는 반경가능한 자료형 여러개를 입력으로 받는 메소드이다. 예제는 다음과 같다.

* list(zip([1, 2, 3], [4, 5, 6])) * [(1, 4), (2, 5), (3, 6)] * list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) * [(1, 4, 7), (2, 5, 8), (3, 6, 9)] * list(zip("abc", "def")) * [('a', 'd'), ('b', 'e'), ('c', 'f')]

[96] 리스트 자료형을 'first', 'second' 컬럼 값을 가지는 다중 인덱스 생성

* 입력되는 리스트 자료형의 그룹화된 결과로 저장

[97] 'first', 'second', 'A', 'B', 컬럼을 가지는 DataFrame 생성

[98] 1행 부터 4행까지 값을 가지는 DataFrame 생성

[99] 98번의 결과 출력

[100] stack() 메소드를 사용하여 stack 화된 변수 저장

[101] 100번의 결과 출력

* 'A'컬럼과 'B'컬럼이 다중 인덱스로 변형

 

DataFrame의 열에 있는 단계를 unstack() 메소드를 통해 압축해제하기

 

 

[102] unstack() 메소드를 통해 세번째 멀티 인덱스가 분리된다.

* 분리되면 각 멀티 인덱스의 인덱스 값으로 컬럼이 생성

[103] unstack(1) 메소드를 통해 위치를 지정하여 변형할 수 있다.

* 분리되면 세번째 멀티 인텍스가 'second' 컬럼을 사용하고 두번째 멀티 인덱스의 인덱스 값으로 컬럼이 생성된다.

* python에서는 배열의 시작은 0부터 시작한다. (1은 2번째 컬럼)

[104] unstack(0) 메소드를 통해 위치를 지정하여 변형할 수 있다.

* 분리되면 두번째 멀티 인텍스가 'one' 컬럼을 사용하고 세번째 멀티 인텍스가 'second' 컬럼을 사용하고 첫번째 멀티 인덱스의 인덱스 값으로 컬럼이 생성된다.

* python에서는 배열의 시작은 0부터 시작한다. (0은 1번째 컬럼)

 


Pivot Tables



pivot_table 메소드로 pivot table 만들기

 

 

[105] 'A','B','C','D','E' 컬럼과 각각의 값을 가지는 DataFrame 생성

[106] 105 결과 출력

[107] pivot_table 메소드를 통해 'A','B' 컬럼을 멀티 인덱스로 가지고 'C' 컬럼을 컬럼 값으로하고 'D' 컬럼합 값을 가지는 DataFrame 출력

* NaN 이 출력되는 이유는 해당 데이터가 없기 때문


 

반응형