Jupyter 노트북 모범 사례
셀 번호 지정, 커밋 전 출력 정리, 매개변수화된 실행을 위한 papermill을 학습합니다.
Jupyter 노트북 모범 사례은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.
노트북의 양날의 검
주피터 노트북은 탐색에 매우 유용합니다. 셀에서 코드를 실행하고, 그래프를 셀 안에서 바로 확인하며, 빠르게 반복할 수 있습니다. 하지만 그 유연성 때문에 규율 없이 사용하면 작업이 뒤죽박죽이 되고 재현하기 어려워집니다.
이 레슨에서는 노트북을 깔끔하고 신뢰할 수 있게 유지하는 습관을 다룹니다.
숨은 상태: 핵심 문제
셀을 어떤 순서로든 실행할 수 있고, 앞선 실행 결과가 메모리에 남아 있습니다. 이러한 숨은 상태 때문에 노트북에는 새로 실행하면 재현할 수 없는 올바른 출력이 표시될 수 있습니다.
노트북 모범 사례의 거의 대부분은 숨은 상태를 없애기 위한 것입니다.
셀을 순서대로 실행하기
실행 번호(셀 옆의 [1], [2])는 위에서 아래로 증가해야 합니다. [7]이 [3]보다 위에 있는 것처럼 순서가 뒤바뀐 번호는 노트북이 숨은 상태에 의존한다는 경고 신호입니다.
노트북은 위에서 아래로 읽어도 자연스럽게 이해되도록 작성하세요.
커널 다시 시작 후 모두 실행
황금률은 노트북을 신뢰하거나 커밋하기 전에 커널 → 다시 시작 및 모두 실행을 수행하는 것입니다. 이렇게 하면 메모리를 지우고 모든 셀을 처음부터 실행합니다.
위에서 아래까지 오류 없이 실행되면 노트북을 재현할 수 있습니다. 중단된다면 숨은 상태로 인한 버그를 발견한 것입니다.
셀을 한 가지에 집중시키기
셀마다 하나의 논리적 단계만 담으면 노트북을 읽고 다시 실행하기 쉬워집니다. 열 가지 일을 한꺼번에 하는 거대한 셀은 피하고, 하나의 작업을 아주 작은 여러 셀에 흩어 놓는 것도 피하세요.
보고서처럼 섹션을 설명하려면 마크다운 셀을 사용하세요.
재사용 가능한 코드를 모듈로 옮기기
함수가 유용하다는 것이 확인되면 노트북 밖의 src/로 옮긴 다음 가져오세요. 이렇게 하면 노트북은 간결해지고, 코드를 검사할 수 있으며, 여러 노트북에서 복사하여 붙여 넣은 코드가 서로 달라지는 문제를 피할 수 있습니다.
from src.features.build_features import make_features
X = make_features(df) # logic lives in a tested module출력 차이 문제
노트북은 셀의 출력(텍스트, 큰 표, base64 이미지)을 .ipynb JSON 안에 저장합니다. 이러한 출력을 커밋하면 Git 차이가 지나치게 크고 복잡해지며 데이터가 유출될 수도 있습니다.
해결 방법은 커밋하기 전에 출력을 제거하는 것입니다.
nbstripout으로 출력 지우기
엔비스트립아웃은 노트북에서 출력을 자동으로 제거합니다. 이를 Git 필터로 설치하면 기억하지 않아도 커밋할 때마다 출력이 제거됩니다.
# pip install nbstripout
nbstripout --install # adds a git filter for this repo
# now committed notebooks have clean, output-free diffspapermill로 노트북 매개변수화
파피밀은 함수 호출처럼 주입한 매개변수를 사용해 프로그래밍 방식으로 노트북을 실행합니다. 셀에 parameters라는 태그를 지정하면 파피밀이 실행마다 해당 값을 덮어씁니다.
# pip install papermill
# papermill analysis.ipynb out.ipynb -p dataset "may.csv" -p seed 42코드에서 매개변수를 사용해 실행하기
파이썬에서 파피밀을 제어해 동일한 분석 노트북을 여러 입력에 대해 실행할 수도 있습니다. 실험을 일괄 처리하는 깔끔한 방법입니다.
import papermill as pm
for ds in ["jan.csv", "feb.csv", "mar.csv"]:
pm.execute_notebook(
"analysis.ipynb",
f"out_{ds}.ipynb",
parameters={"dataset": ds, "seed": 42},
)노트북 관리 체크리스트
노트북을 공유하거나 커밋하기 전에 다음을 확인하세요.
- 커널을 다시 시작하고 모두 실행하기 — 오류 없이 통과해야 합니다
- 셀은 위에서 아래로 실행되고 실행 번호는 증가해야 합니다
- 재사용 가능한 로직은
src/모듈로 옮겼는지 확인합니다 - 출력을 제거했는지 확인합니다(엔비스트립아웃)
- 마크다운이 내용을 설명하는지 확인합니다
빠른 확인: 노트북 신뢰하기
커밋하기 전에 노트북을 재현할 수 있고 숨은 상태로 인한 버그가 없는지 확인하려고 합니다.
복습: 노트북 모범 사례
노트북을 깔끔하고 재현 가능하게 유지하는 방법을 배웠습니다.
- 숨은 상태에 대응하려면 셀을 순서대로 실행합니다
- 신뢰하거나 커밋하기 전에 다시 시작 및 모두 실행을 수행합니다
- 재사용 가능한 코드를
src/모듈로 옮깁니다 - 깔끔한 Git 차이를 위해 엔비스트립아웃으로 출력을 지웁니다
- 매개변수를 사용한 일괄 노트북 실행에는 파피밀을 사용합니다
이로써 AI 프로젝트 구조 및 Git 워크플로 과정이 끝났습니다.
AI 튜터와 함께 Python을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 53
- 레슨
- 225
자주 묻는 질문
“Jupyter 노트북 모범 사례” 강의는 무료인가요?
네 — “Jupyter 노트북 모범 사례” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.
“Jupyter 노트북 모범 사례”에서 뭘 배우나요?
셀 번호 지정, 커밋 전 출력 정리, 매개변수화된 실행을 위한 papermill을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Jupyter 노트북 모범 사례” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 전문적인 인공지능 프로젝트 디렉터리 구조
- 인공지능 프로젝트를 위한 Git
- 재현성: 시드, 구성, 환경
- Jupyter 노트북 모범 사례