초보자가 제일 많이 하는 실수는 제일 유명한 도구 하나를 골라서 모든 문제를 거기 욱여넣는 거야. 프로가 제일 먼저 익히는 기술은 눈앞의 일 모양에 맞는 도구를 고르는 거고. 실제로 굴러가는 판단 기준을 줄게.
| 상황 | 골라 | 이유 |
|---|---|---|
탐색, <100M 행, 지저분한 mixed type | Pandas | 최대 ecosystem, 모든 분석 라이브러리가 받아 줌, REPL 친화적. |
같은 모양인데 노트북에서 100M–10B 행 | Polars (lazy) | Streaming 엔진, query optimizer, 병렬 실행. Pandas 는 OOM. |
| Parquet/Arrow 위에서 익숙한 SQL 분석 | DuckDB | In-process, 서버 없음, 파일 직접 query, 비용 대비 환상적인 성능. |
| 데이터가 이미 Postgres/BigQuery/Snowflake 안에 | SQL (warehouse 안) | 꺼내고 다시 넣지 말고. 데이터가 사는 곳에서 계산해. 정리는 dbt 로. |
| Label 필요 없는 수치 위주 작업 | NumPy | Pandas 보다 overhead 적음, vectorization 직행. |
| 진짜 페타바이트 규모 | Spark / BigQuery / Snowflake | 이 quest 범위 밖. 원리는 그대로 옮겨가. |
묻기 전에 주는 기본값
2026 에 맨바닥에서 시작하고 데이터가 파일로 있다면: Parquet 으로 저장하고, DuckDB 로 query 하고, 크기에 따라 Pandas 나 Polars 로 주무르고, Pandera 로 검증해. 이 조합이 대부분의 실무자를, 대부분의 문제에서, 한 머신으로, 더 무거운 게 필요해질 때까지 몇 년을 버티게 해 줘.
요점은 표를 외우는 게 아니야. import 를 치기 전에 이 일의 모양이 뭐지? 하고 먼저 묻는 습관을 들이는 거야.