형태 변환
- 데이터의 모양을 바꾸는 도구들
- Wide(보고서용)과 Long(분석용)으로 나뉨
- .stack() & .unstack()
- .stack() : 컬럼(열)을 인덱스(행)로 쌓아 올리기 (위에서 옆으로 눕히는 느낌)
- .unstack() : 인덱스를 컬럼으로 펼치기 (행에 있던 걸 열로 올림)
- level 인자 : 어떤 인덱스를 올릴지 결정
- fill_value=0 : 빈자리 처리
- .melt()
- Wide -> Long 변환
- 여러 컬럼을 하나의 변수와 값 컬럼으로 녹여냄.
- .pivot() vs .pivot_table()
- pivot : 단순 형태 변환. 중복 데이터가 있으면 에러가 발생.
- pivot_table : 중복 데이터가 있어도 평균, 합계 등으로 요약 가능
- .stack() & .unstack()
고급 데이터 연산
- .transform()
- .groupby()와 함께 자주 쓰임
- apply나 aggregate는 데이터 크기가 줄어들지만(그룹당 1행), transform은 원본 데이터의 행 수를 유지하면서 계산 결과를 뿌려줌.
- .apply()
- 사용자 정의 함수를 적용할 때 사용
- 로직이 복잡하면 def 함수
- 로직이 간단하면 lambda 사용
문자열 처리 (.str)
- Series 타입에서 문자열 전용 함수 바로 쓸 수 있게 해준다.
- .str.capitalize() : 첫 글자만 대문자로 변환
- .str.contains() : 특정 단어가 포함되어 있는지 확인 (True/False 반환). 필터링할 때 필수
인덱스 제어
- .set_index() : 특정 컬럼을 인덱스로 보냄
- append=True : 기존 인덱스를 유지하며 멀티인덱스 생성
- drop=False : 인덱스로 보낸 컬럼을 원래 열 자리에 남김.
- .reset_index() : 인덱스를 다시 일반 컬럼으로 돌리고 0,1,2, . . 순번으로 초기화
데이터 합치기 & 시계열
- .concat() : 데이터를 이어 붙이기
- axis = 0 (기본값) : 위아래로 길게 붙임
- axis = 1 : 옆으로 넓게 붙임
- ignore_index=True : 기존 인덱스가 의미 없을 때 새로 번호를 매김.
- Timedelta : 날짜와 날짜 사이의 시간 차이를 나타내는 타입
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프] TIL 31일차 26.02.12(목) (0) | 2026.02.12 |
|---|---|
| [내일배움캠프] TIL 30일차 26.02.11(수) (0) | 2026.02.11 |
| [내일배움캠프] TIL 28일차 26.02.09(월) (0) | 2026.02.09 |
| [내일배움캠프] TIL 27일차 26.02.06(금) (0) | 2026.02.06 |
| [내일배움캠프] TIL 26일차 26.02.05(목) (0) | 2026.02.05 |