marimo 데이터 다루기 — SQL 셀과 반응형 플롯
marimo 데이터 다루기 — SQL 셀과 반응형 플롯
marimo의 반응형 실행은 데이터 작업과 찰떡궁합이에요. 데이터프레임을 만드는 셀을 바꾸면, 그 위의 필터링·시각화 셀이 자동으로 다시 그려져요. 게다가 marimo는 SQL 셀, 노코드 데이터프레임 뷰, 반응형 플롯을 기본 제공해서 데이터 탐색이 훨씬 빠른 데모가 돼요.
SQL 셀
marimo 노트북 안에 SQL 셀을 만들 수 있어요. 셀 안에 %%sql처럼 SQL을 쓰고, 그 결과를 파이썬 변수에 담아 다음 셀에서 반응형으로 이어 사용할 수 있어요. 연결 대상(DuckDB·SQLite·Postgres 등)을 셀 단위로 지정해서, DB에 직접 질의한 결과를 바로 시각화하는 탐색이 자연스러워요.
노코드 데이터프레임
mo.ui.dataframe 같은 요소를 쓰면 표를 코드 없이 필터링·정렬하는 UI가 나와요. 사용자가 표에서 고른 조건이 파이썬 변수로 흘러들어가고, 그 변수를 참조하는 셀이 자동으로 다시 계산되죠. 드래그 앤 드롭으로 값을 재정렬하거나 범위를 고르는 상호작용도 가능해요.
반응형 플롯
marimo는 플롯을 조작하면 그 결과가 다른 셀에 반응형으로 전달되는 강력한 패턴을 제공해요. 예를 들어 필터 위젯의 값을 바꾸면 그 값을 쓰는 차트 셀이 자동으로 갱신돼요. Altair 같은 라이브러리와 결합해 인터랙티브한 대시보드 탐색을 만들기 좋아요.
데이터 작업 팁
- 데이터프레임에 열을 추가할 때는 정의한 셀 안에서 mutation하거나 새 변수를 만들어요(반응형 mutation 미추적의 제약).
- 커다란 데이터는 SQL 셀로 필요한 부분만 뽑아오는 편이 더 효율적이에요.
더 알아보기
연결 설정과 SQL 셀 문법의 전체 가이드는 공식 Working with data 문서에서 확인할 수 있어요.