NumPy 위에 Pandas 가 더하는 것
Pandas 는 Python 에서 tabular 데이터를 주무르는 표준 라이브러리야. 지금 stable 은 Pandas 3.0.5 (2026.7). 2026.1 에 나온 3.0 이 큰 고비였어 — Copy-on-Write 가 기본이 되고, PyArrow-backed string 이 주류가 되고, legacy API 가 무더기로 걷혀 나갔거든.
NumPy 가 타입 있는 수치 배열을 준다면, Pandas 는 거기에 두 가지를 얹어: label (이름 붙은 column 과 index 달린 row) 그리고 heterogeneous type (string, datetime, categorical 이 한 테이블에). 시시해 보이지 — 근데 실전에선 이게 "생 숫자" 와 "실제로 일할 수 있는 데이터" 의 차이야.
두 핵심 type
- Series — label 붙은 column 하나. 개념적으론 NumPy 1D 배열 + index. DataFrame 의 모든 컬럼이 각각 Series 야.
- DataFrame — 2D labeled 테이블. Column 마다 타입이 달라도 되고, row 들은 index 를 공유해.
Label 이 왜 중요해?
매출이 7번째 column 이라는 걸 외우고 싶진 않잖아. df['revenue'] 라고 쓰고 싶지. 그리고 label 은 DataFrame 사이 연산을 자동으로 줄 맞춰 줘 — DataFrame 두 개를 더하면 index 와 column label 이 맞는 자리끼리 계산되고, 안 맞는 자리는 조용한 버그가 되는 대신 NaN 으로 나타나.