Tabular 분석에서 제일 쓸모 많은 패턴 하나
Split-apply-combine — row 를 그룹으로 쪼개고, 그룹마다 함수를 적용하고, 그룹별 결과를 한 테이블로 다시 모으는 패턴이야. 실전에서 만나는 tabular 질문의 절대 다수가 이 틀 안에 들어와. Pandas 에선 df.groupby(...) 가 그 문이고, 이걸 제대로 익히는 게 Pandas 사용자로서 할 수 있는 가장 남는 투자 중 하나야.
"Apply" 의 세 갈래
- Aggregate — 그룹당 값 하나 (sum, mean, median, count). 결과는 그룹당 한 row.
- Transform — 그룹 안에서 계산된 row 당 값 하나 (store 안에서의 z-score, customer 안에서의 rank). 결과는 입력과 같은 모양.
- Filter — 그룹 단위 시험으로 그룹 전체를 남기거나 버리기 ("이번 달 주문 100건 넘는 store 만").
Named aggregation 이 modern 스타일
옛날 코드는 dict-of-list (.agg({'amount': ['sum', 'mean']})) 를 써서 못생긴 multi-index column 을 만들어. 새 코드는 named aggregation 을 써: .agg(revenue=('amount_usd', 'sum'), orders=('order_id', 'nunique')). 결과 column 에 명확한 이름이 붙고, 코드가 consumer 와 맺은 contract 처럼 읽혀.