IT_developers

Python 데이터 분석(주피터노트북) - Pandas(Reshaping data)(1) 본문

Python

Python 데이터 분석(주피터노트북) - Pandas(Reshaping data)(1)

developers developing 2022. 11. 1. 12:00

Melt

  • 1 개 이상 열들을 식별자 변수 형식으로 재형성
    열 축소, 행 확장

 

 

1) 모든 컬럼을 행으로 녹여냄(열 축소, 행 확장)

  • id_vars 
  • var_name
  • value_name
  • value_vars

 

 

 

Pivot

  • pivot 사전적 의미 : 회전 또는 균형을 맞추는 중심축이나 고정점

pivot_table

  • group by를 사용하기 쉽게 해 놓은 게 pivot_table
    pd.pivot_table(
      data: 'DataFrame',
      values=None,
      index=None,
      columns=None,
      aggfunc: 'AggFuncType' = 'mean',
      fill_value=None,
      margins: 'bool' = False,
      dropna: 'bool' = True,
      margins_name: 'str' = 'All',
      observed: 'bool' = False,
      sort: 'bool' = True,
    )

 

1) 학생들이 활동하는 스포츠 종목에 따라 기록과 성별로 구분

 

[실습]

 

[실습]

1) aggfunc를 주지 않은 경우 : default mean 적용

2) aggfunc를 주는 경우 : sum 적용

 

[실습]

 

group by로 위와 동일하게 작성

unstack() : 마지막 index 값이 컬럼으로 오게 됨

  • groupby() 를 편하게 만들어 놓은게 pivot_table()
  • pivot_table 에서 빈도수 구하는 것만 쉽게 만들어 놓은 게 crosstab

 

pivot 이 적용된 데이터 프레임을 melt를 써서 처음과 유사하게 만들어보기

 

[정리] pivot과 pivot_table()

  • pivot : 형태만 변경
  • pivot_table : 형태 + 연산

Comments