15분
dtype 최적화로 메모리 50-90% 절약
Day 1: 1GB CSV 열었더니 컴퓨터가 멈췄다
dtype 최적화로 메모리 50-90% 절약
pandas 고급 & 대용량 데이터 처리 > Day 1: 1GB CSV 열었더니 컴퓨터가 멈췄다
학습 목표
최적의 dtype을 선택하는 방법을 익힌다 category 타입의 효과를 파악한다
dtype이 메모리에 미치는 영향
pandas는 기본적으로 넉넉한 dtype을 사용한다. 이게 메모리 낭비의 주범이다.
정수 타입 비교
에디터 로딩 중...
| 타입 | 범위 | 크기 |
|---|---|---|
| int8 | -128 ~ 127 | 1 byte |
| int16 | -32,768 ~ 32,767 | 2 bytes |
| int32 | -2.1B ~ 2.1B | 4 bytes |
| int64 | 매우 큼 | 8 bytes |
| uint8 | 0 ~ 255 | 1 byte |
| uint16 | 0 ~ 65,535 | 2 bytes |
category 타입의 마법
반복되는 문자열에 90% 이상 메모리 절약 가능!
에디터 로딩 중...
최적화 코드
에디터 로딩 중...
최적화 전후 비교
| 컬럼 | 원본 dtype | 최적화 dtype | 절약 |
|---|---|---|---|
| id (0-1M) | int64 | int32 | 50% |
| age (0-100) | int64 | int8 | 87.5% |
| salary | float64 | float32 | 50% |
| status (3종류) | object | category | 95%+ |
총 절약: 50-80%
💡 주의: float32는 정밀도가 낮아 금융 계산에는 부적합