원래 자료형을 감싸는 방식
여러 데이터프레임을 Narwhals 객체로 감싼 뒤 공통 API로 연산하고 원래 라이브러리의 객체로 돌려준다. 입력이 Pandas면 Pandas 결과로, Polars면 Polars 결과로 연결하는 식이다. 자료를 받는 라이브러리가 여러 구현을 지원하도록 돕는다.
계산은 기존 엔진에서
입력 라이브러리의 계산 방식을 유지한다. Modin의 분산 계산이나 cuDF의 GPU 계산처럼 실제 처리는 기존 구현에서 수행한다. 모든 입력을 하나의 실행 엔진으로 강제 변환하는 대신 호환 인터페이스를 제공하는 구조다.
지원 범위와 의존성
일부 라이브러리는 전체 공통 API를 지원하고 Dask와 DuckDB 및 Ibis 등은 지연 실행 경로로 지원한다. 사용자가 전달한 구현을 활용해 불필요한 데이터프레임 의존성을 추가하지 않는 구성을 지향한다. 라이브러리별 지원 범위는 구분된다.
관련 문서
Fugue 데이터 처리 / Ibis 데이터프레임 / Polars / Modin / Pandas / Python