1. crosstab
- pd.crosstab 함수(cross table을 만들어주는 함수)
- 범주형 자료 분석을 위한 빈도수에 대한 교차표 리턴시 주로 사용
- 요약 기능 가짐
적합도 검정, 동질성 검정, 독립성 검정 중 cross table을 만들겠다는 것은 독립성 검정을 위한 것이다.
(일원 분할표는 동질성 검정)
예) 부서별로 JOB에 대한 배치가 다른지 확인 → DEPTNO, JOB에 대한 cross table이 필요하다는 의미
나중에 범주형 자료분석 할 때 빈도수를 쉽게 구할 수 있는 방법이기 때문에 많이 사용할 함수이다.
2. pivot / pivot_table (후자를 더 많이 사용함)
1) pivot
- 이미 요약되어 있는 데이터를 교차표 형태로 만들어줌(요약 기능 → 평균, 총합 등의 연산 불가)
emp.pivot(index = ,
columns = ,
values = )
2) pivot_table
- 교차표 작성
- 요약기능 가짐
emp.pivot_table(values , # value 컬럼
index, # index 에 배치할 컬럼
columns, # column 자리에 배치할 컬럼
aggfunc = ‘mean’, # 요약함수 자리. 평균이 디폴트
fill_value, # na로 리턴되는 cell의 치환값
margins = False) # 총계 출력 여부. 총합, 총계 표현할 때 사용.
예) 부서별로 JOB 별 SAL 평균
1) pivot
이 방식으로는 생성이 불가하다.
pivot은 요약이 기존에 되어 있어야 데이터를 피벗팅 할 수 있다.
따라서 아래와 같은 과정을 거친 후에야 피벗 테이블을 만들 수 있다.
2) pivot_table
pivot_table은 values를 요약해주는 기능이 있다.
aggfunc = 'mean' 이 default이다.
aggfunc = 'sum' 으로 설명하면 합을 계산해준다.
fill_value = 0, margins = True 설정하면 위와 같이 NaN 자리에 0으로 채워지고, 총계가 리턴된다.
연습문제
student.csv 파일을 읽고 학년별 성별(index방향) 키에 대한 교차표를 생성하여라.
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[복습] Python 시계열 데이터(datetime, strptime, strftime, pd.to_datetime, timedelta, pd.DateOffset) (1) (0) | 2024.02.01 |
---|---|
[복습] Python multi-index(2) (0) | 2024.02.01 |
[복습] Python long data ↔ wide data 변환(stack, unstack) (0) | 2024.02.01 |
[복습] Python | 분석 | 불순도 + 하루끝(20240129) (0) | 2024.02.01 |
[복습] Python 파이썬의 정규식 표현식 (0) | 2024.01.31 |