🤖

본 콘텐츠의 이미지 및 내용은 AI로 생성되었습니다.

⚠️

본 콘텐츠의 이미지 및 내용을 무단으로 복제, 배포, 수정하여 사용할 경우 저작권법에 의해 법적 제재를 받을 수 있습니다.

이미지 로딩 중...

Jupyter Notebook 활용법 완벽 가이드 - 슬라이드 1/7
A

AI Generated

2025. 12. 1. · 17 Views

Jupyter Notebook 활용법 완벽 가이드

데이터 분석과 머신러닝의 필수 도구인 Jupyter Notebook의 핵심 기능을 초급 개발자 눈높이에서 설명합니다. 노트북 생성부터 Google Colab 활용까지, 실무에서 바로 써먹을 수 있는 내용으로 구성했습니다.


목차

  1. 노트북_생성과_셀_타입
  2. 마크다운_문서_작성
  3. 순서 있는 목록 2
  4. 매직_명령어
  5. 변수_탐색과_디버깅
  6. 노트북_공유와_내보내기
  7. Google_Colab_활용

1. 노트북 생성과 셀 타입

김개발 씨는 데이터 분석 팀에 새로 합류한 신입 개발자입니다. 첫 출근 날, 선배가 건넨 파일 확장자는 낯설게도 .ipynb였습니다.

"이게 뭐죠?" 김개발 씨의 물음에 선배 박시니어 씨가 빙긋 웃었습니다. "Jupyter Notebook이라고 해.

오늘부터 매일 쓰게 될 거야."

Jupyter Notebook은 코드와 문서를 한 곳에서 작성하고 실행할 수 있는 대화형 개발 환경입니다. 마치 공책에 메모하면서 계산기를 두드리는 것처럼, 생각의 흐름대로 코드를 작성하고 결과를 바로 확인할 수 있습니다.

특히 데이터 분석, 머신러닝, 교육 분야에서 폭넓게 사용됩니다.

다음 코드를 살펴봅시다.

# Jupyter Notebook 설치 및 실행
# 터미널에서 다음 명령어 실행
pip install jupyter

# 노트북 서버 시작
jupyter notebook

# 새 노트북 생성 후 셀에서 실행
# 코드 셀 (Code Cell) - 파이썬 코드 실행
print("Hello, Jupyter!")
x = 10 + 20
print(f"결과: {x}")

# 마크다운 셀 (Markdown Cell) - 문서 작성
# 셀 타입을 Markdown으로 변경 후 작성
# # 제목
# 이것은 **마크다운** 문서입니다.

김개발 씨는 입사 첫 주, 선배들의 분석 코드를 보며 당황했습니다. 파이썬 파일인 줄 알았는데, 코드 사이사이에 깔끔한 설명과 그래프가 함께 들어있었기 때문입니다.

이것이 바로 Jupyter Notebook의 매력입니다. 그렇다면 Jupyter Notebook이란 정확히 무엇일까요?

쉽게 비유하자면, Jupyter Notebook은 마치 실험 노트와 같습니다. 과학자들이 실험을 하면서 가설을 적고, 실험 결과를 기록하고, 결론을 도출하듯이, 개발자도 코드를 작성하고, 실행 결과를 확인하고, 그 의미를 문서로 남길 수 있습니다.

이 모든 것이 하나의 파일 안에서 이루어집니다. Jupyter Notebook의 핵심은 바로 셀(Cell) 개념입니다.

셀은 크게 두 가지 타입이 있습니다. 첫 번째는 **코드 셀(Code Cell)**로, 파이썬 코드를 작성하고 실행하는 공간입니다.

두 번째는 **마크다운 셀(Markdown Cell)**로, 설명이나 문서를 작성하는 공간입니다. Jupyter가 없던 시절에는 어땠을까요?

개발자들은 코드 파일과 문서 파일을 따로 관리해야 했습니다. 분석 결과를 공유하려면 코드를 실행하고, 결과를 캡처하고, 문서에 붙여넣는 번거로운 작업을 반복해야 했습니다.

시간이 지나면 코드와 문서의 버전이 어긋나는 문제도 빈번했습니다. 바로 이런 문제를 해결하기 위해 Jupyter Notebook이 등장했습니다.

노트북을 시작하는 방법은 간단합니다. 터미널에서 jupyter notebook 명령어를 입력하면 웹 브라우저가 열리며 노트북 대시보드가 나타납니다.

여기서 New 버튼을 클릭하고 Python 3를 선택하면 새 노트북이 생성됩니다. 새로 생성된 노트북에는 빈 셀이 하나 있습니다.

이 셀에 코드를 입력하고 Shift + Enter를 누르면 코드가 실행되고 결과가 바로 아래에 표시됩니다. 셀 타입을 마크다운으로 바꾸고 싶다면 상단 드롭다운 메뉴에서 Markdown을 선택하거나, 단축키 M을 누르면 됩니다.

실제 현업에서는 어떻게 활용할까요? 데이터 분석가가 매출 데이터를 분석한다고 가정해봅시다.

먼저 마크다운 셀에 분석 목적과 가설을 적습니다. 다음 코드 셀에서 데이터를 불러오고, 그 아래에 결과를 해석하는 마크다운을 추가합니다.

이렇게 완성된 노트북은 그 자체로 분석 보고서가 됩니다. 하지만 주의할 점도 있습니다.

초보자들이 흔히 하는 실수 중 하나는 셀 실행 순서를 무시하는 것입니다. Jupyter는 셀을 위에서 아래로 순서대로 실행해야 합니다.

중간 셀을 건너뛰거나 순서를 바꿔 실행하면 변수가 정의되지 않아 오류가 발생할 수 있습니다. 따라서 노트북을 공유하기 전에는 Kernel > Restart & Run All로 전체 셀을 순서대로 실행해보는 습관을 들여야 합니다.

다시 김개발 씨의 이야기로 돌아가 봅시다. 박시니어 씨의 설명을 들은 후, 김개발 씨는 직접 노트북을 만들어 보았습니다.

코드를 한 줄 쓰고 바로 결과를 확인하니, 마치 대화하듯 프로그래밍하는 느낌이 들었습니다. "이거 정말 편하네요!" Jupyter Notebook의 셀 구조를 이해하면 코드와 문서를 효율적으로 관리할 수 있습니다.

여러분도 오늘 배운 내용을 바탕으로 첫 번째 노트북을 만들어 보세요.

실전 팁

💡 - 셀 실행은 Shift + Enter, 셀 추가는 A(위) 또는 B(아래) 단축키를 활용하세요

  • 노트북 파일명은 내용을 알 수 있도록 명확하게 작성하는 것이 좋습니다
  • 셀을 삭제하려면 D를 두 번 누르세요

2. 마크다운 문서 작성

김개발 씨가 분석 결과를 정리해서 팀에 공유했습니다. 그런데 돌아온 피드백은 예상 밖이었습니다.

"코드는 좋은데, 이게 뭘 하는 건지 모르겠어요." 박시니어 씨가 조언했습니다. "마크다운을 활용해서 스토리를 만들어봐.

코드만큼 문서화도 중요해."

**마크다운(Markdown)**은 간단한 문법으로 서식 있는 문서를 작성할 수 있는 경량 마크업 언어입니다. Jupyter Notebook에서 마크다운 셀을 활용하면 제목, 목록, 링크, 이미지, 수식까지 깔끔하게 표현할 수 있습니다.

코드에 생명을 불어넣는 설명을 추가해보세요.

다음 코드를 살펴봅시다.

# 마크다운 셀에서 작성하는 문법 예시

# 제목 1 (가장 큰 제목)
## 제목 2
### 제목 3

# 텍스트 강조
**굵은 글씨**와 *기울임 글씨*를 사용합니다.

# 목록 작성
- 순서 없는 목록 1
- 순서 없는 목록 2
  - 중첩 목록

2. 순서 있는 목록 2

김개발 씨는 고민에 빠졌습니다. 분명히 열심히 분석했는데, 왜 동료들은 이해하지 못하는 걸까요?

코드만 보면 무슨 일을 하는지 알 수 있을 거라 생각했는데, 그건 착각이었습니다. 박시니어 씨가 자신의 노트북을 보여주었습니다.

노트북을 열자마자 깔끔한 제목이 눈에 들어왔습니다. 그 아래에는 분석 배경과 목적이 간결하게 정리되어 있었고, 각 코드 블록 앞에는 해당 코드가 무엇을 하는지 설명이 달려 있었습니다.

마치 잘 정리된 보고서 같았습니다. 그렇다면 마크다운이란 정확히 무엇일까요?

마크다운은 마치 약속된 암호와 같습니다. 별표 두 개로 텍스트를 감싸면 굵은 글씨가 되고, 샵 기호를 앞에 붙이면 제목이 됩니다.

복잡한 HTML을 몰라도, 워드프로세서가 없어도, 간단한 기호만으로 서식 있는 문서를 만들 수 있습니다. 마크다운의 기본 문법을 살펴봅시다.

제목은 샵 기호의 개수로 크기를 조절합니다. 샵 하나는 가장 큰 제목, 샵 두 개는 그 다음 크기의 제목입니다.

최대 여섯 단계까지 지원합니다. 강조는 별표를 활용합니다.

별표 두 개로 감싸면 굵은 글씨, 별표 하나로 감싸면 기울임 글씨가 됩니다. 중요한 키워드를 강조할 때 유용합니다.

목록은 대시나 숫자로 시작합니다. 대시로 시작하면 순서 없는 목록, 숫자로 시작하면 순서 있는 목록이 됩니다.

들여쓰기를 하면 중첩 목록도 만들 수 있습니다. 데이터 분석에서 특히 유용한 기능이 있습니다.

바로 수식 표현입니다. 달러 기호 안에 LaTeX 문법을 사용하면 수학 공식을 깔끔하게 표현할 수 있습니다.

평균, 표준편차, 회귀 방정식 등 분석에 사용한 공식을 문서화할 때 매우 유용합니다. 실제 현업에서는 어떻게 활용할까요?

분석 보고서를 작성한다고 가정해봅시다. 가장 위에 제목과 작성일을 마크다운으로 적습니다.

그 아래 분석 목적, 데이터 설명, 분석 방법론을 순서대로 정리합니다. 각 분석 단계마다 해당 코드가 무엇을 하는지 간단히 설명을 달아줍니다.

마지막에는 결론과 제언을 추가합니다. 하지만 주의할 점도 있습니다.

마크다운에 너무 많은 내용을 담으려 하면 오히려 가독성이 떨어집니다. 핵심만 간결하게 작성하는 것이 좋습니다.

또한 마크다운 셀도 실행해야 렌더링된다는 점을 기억하세요. 편집 모드에서는 원본 문법이 보이고, 실행해야 서식이 적용된 문서가 표시됩니다.

다시 김개발 씨의 이야기로 돌아가 봅시다. 박시니어 씨의 조언대로 마크다운을 추가한 노트북을 다시 공유했습니다.

이번에는 반응이 달랐습니다. "이거 완전 보고서네!

이해하기 쉬워요." 마크다운을 잘 활용하면 코드와 설명이 조화를 이루는 전문적인 문서를 만들 수 있습니다. 여러분도 다음 분석 노트북에 마크다운을 활용해 보세요.

실전 팁

💡 - 분석 노트북의 첫 번째 셀은 항상 마크다운으로 제목과 개요를 작성하세요

  • 복잡한 수식은 $$ 두 개로 감싸면 별도의 줄에 크게 표시됩니다
  • 마크다운 미리보기가 필요하면 셀을 실행(Shift + Enter)하세요

3. 매직 명령어

김개발 씨가 머신러닝 모델을 학습시키는데 예상보다 오래 걸렸습니다. "이게 원래 이렇게 느린 건가?" 박시니어 씨가 다가와 키보드를 두드렸습니다.

"%time을 써봐. 정확히 얼마나 걸리는지 알 수 있어." 신기하게도 퍼센트 기호로 시작하는 명령어가 작동했습니다.

**매직 명령어(Magic Commands)**는 Jupyter Notebook에서만 사용할 수 있는 특별한 명령어입니다. 퍼센트 기호로 시작하며, 실행 시간 측정, 그래프 표시 설정, 외부 파일 실행 등 다양한 편의 기능을 제공합니다.

일반 파이썬에서는 불가능한 마법 같은 기능들입니다.

다음 코드를 살펴봅시다.

# 실행 시간 측정 - 한 줄 코드
%time sum(range(1000000))

# 실행 시간 측정 - 여러 번 반복해서 평균
%timeit sum(range(1000000))

# 셀 전체 실행 시간 측정
%%time
total = 0
for i in range(1000000):
    total += i
print(total)

# 그래프를 노트북 안에 표시
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

# 현재 정의된 변수 목록 확인
%who

# 환경 변수 설정
%env MY_VAR=hello

# 사용 가능한 모든 매직 명령어 보기
%lsmagic

김개발 씨는 의문이 생겼습니다. 파이썬 문법에는 퍼센트로 시작하는 명령어가 없는데, 이게 어떻게 작동하는 걸까요?

박시니어 씨가 설명했습니다. "Jupyter는 IPython이라는 향상된 파이썬 셸을 기반으로 해.

매직 명령어는 IPython에서 제공하는 특별한 기능이야. 일반 파이썬 스크립트에서는 작동하지 않고, Jupyter 환경에서만 사용할 수 있어." 매직 명령어는 두 가지 종류가 있습니다.

**라인 매직(Line Magic)**은 퍼센트 기호 하나로 시작하고, 한 줄에만 적용됩니다. **셀 매직(Cell Magic)**은 퍼센트 기호 두 개로 시작하고, 셀 전체에 적용됩니다.

가장 많이 사용하는 매직 명령어는 %time입니다. 코드의 실행 시간을 측정할 때 사용합니다.

단순히 %time을 코드 앞에 붙이면 CPU 시간과 벽시계 시간을 알려줍니다. 코드 최적화를 할 때 어느 부분이 병목인지 찾는 데 매우 유용합니다.

비슷하지만 다른 %timeit도 있습니다. %timeit은 코드를 여러 번 반복 실행해서 평균 시간을 측정합니다.

짧은 코드의 성능을 비교할 때 적합합니다. 한 번 실행으로는 측정 오차가 클 수 있기 때문입니다.

데이터 분석가에게 필수인 명령어가 있습니다. 바로 %matplotlib inline입니다.

이 명령어를 실행하면 matplotlib으로 그린 그래프가 별도의 창이 아닌 노트북 안에 표시됩니다. 분석 결과를 시각화할 때 반드시 필요한 설정입니다.

보통 노트북 맨 위에 한 번만 실행해두면 됩니다. 셀 전체에 적용되는 %%time도 유용합니다.

퍼센트 기호를 두 개 붙이면 셀 전체의 실행 시간을 측정합니다. 여러 줄로 이루어진 복잡한 코드의 실행 시간을 알고 싶을 때 사용합니다.

그 외에도 유용한 매직 명령어가 많습니다. %who는 현재 정의된 변수 목록을 보여줍니다.

%pwd는 현재 작업 디렉토리를 알려줍니다. %run은 외부 파이썬 파일을 실행합니다.

%load는 외부 파일의 내용을 셀에 불러옵니다. 실제 현업에서는 어떻게 활용할까요?

머신러닝 모델을 학습할 때 %%time으로 학습 시간을 측정합니다. 여러 알고리즘의 성능을 비교할 때 %timeit으로 예측 속도를 측정합니다.

분석 보고서를 작성할 때 %matplotlib inline으로 그래프를 노트북에 포함시킵니다. 하지만 주의할 점도 있습니다.

매직 명령어는 Jupyter 전용이므로, 나중에 일반 파이썬 스크립트로 변환할 때는 제거해야 합니다. 또한 %timeit은 코드를 여러 번 실행하므로, 부수 효과가 있는 코드(파일 저장, 데이터 수정 등)에는 사용하면 안 됩니다.

다시 김개발 씨의 이야기로 돌아가 봅시다. %time을 써본 김개발 씨는 놀랐습니다.

단 한 줄의 명령어로 실행 시간이 정확히 표시되었기 때문입니다. "매직이라는 이름이 딱 맞네요!" 매직 명령어를 잘 활용하면 분석 효율을 크게 높일 수 있습니다.

자주 쓰는 명령어 몇 개만 익혀도 작업 속도가 달라집니다.

실전 팁

💡 - %lsmagic으로 사용 가능한 모든 매직 명령어 목록을 확인할 수 있습니다

  • %matplotlib inline은 노트북 시작 부분에 한 번만 실행하면 됩니다
  • 매직 명령어 뒤에 ?를 붙이면 도움말을 볼 수 있습니다 (예: %time?)

4. 변수 탐색과 디버깅

김개발 씨의 코드가 이상하게 동작했습니다. 분명히 데이터를 불러왔는데, 어느 순간 변수가 비어 있었습니다.

"도대체 어디서 잘못된 거지?" 머리를 쥐어뜯던 김개발 씨에게 박시니어 씨가 다가왔습니다. "Jupyter에서 디버깅하는 방법 알아?

생각보다 쉬워."

Jupyter Notebook은 대화형 환경이라 변수를 탐색하고 디버깅하기가 매우 편리합니다. 변수의 현재 값을 언제든 확인하고, 중간 결과를 검증하며, 문제가 생긴 지점을 빠르게 찾아낼 수 있습니다.

마치 돋보기로 코드의 내부를 들여다보는 것과 같습니다.

다음 코드를 살펴봅시다.

# 변수 값 직접 확인 (print 없이)
data = [1, 2, 3, 4, 5]
data  # 셀의 마지막 줄은 자동으로 출력됨

# 변수 상세 정보 확인
data?

# 현재 정의된 모든 변수 확인
%who

# 변수 타입별로 확인
%who list
%who int

# 변수 상세 목록
%whos

# 디버거 사용하기
%debug  # 오류 발생 후 실행하면 디버거 진입

# 브레이크포인트 설정
from IPython.core.debugger import set_trace

def calculate(x):
    result = x * 2
    set_trace()  # 여기서 실행이 멈춤
    return result + 10

# 변수 삭제
%reset -f  # 모든 변수 삭제 (확인 없이)

김개발 씨는 좌절감에 빠져 있었습니다. 수백 줄의 코드 어딘가에서 문제가 생겼는데, 어디가 문제인지 도무지 알 수 없었습니다.

일일이 print문을 추가하자니 너무 번거로웠습니다. 박시니어 씨가 묻습니다.

"일단 지금 어떤 변수들이 정의되어 있는지 알아?" 김개발 씨는 고개를 저었습니다. "그럼 %whos부터 쳐봐." Jupyter의 대화형 환경이 빛을 발하는 순간입니다.

일반 파이썬 스크립트에서는 코드가 처음부터 끝까지 한 번에 실행됩니다. 하지만 Jupyter에서는 셀 단위로 실행하므로, 중간 상태를 언제든 확인할 수 있습니다.

마치 영화를 일시정지하고 한 장면씩 살펴보는 것과 같습니다. 가장 간단한 방법은 변수 이름만 입력하는 것입니다.

셀의 마지막 줄에 변수 이름만 적으면 그 값이 자동으로 출력됩니다. print를 쓰지 않아도 됩니다.

여러 변수를 확인하고 싶다면 print를 사용하거나 튜플로 묶어서 출력할 수 있습니다. **물음표 하나(?)**로 변수의 상세 정보를 볼 수 있습니다.

변수 이름 뒤에 물음표를 붙이면 타입, 길이, 내용 등 상세한 정보가 표시됩니다. 함수에 붙이면 docstring과 시그니처를 볼 수 있습니다.

물음표 두 개(??)를 붙이면 소스 코드까지 볼 수 있습니다. %who는 현재 정의된 변수 목록을 보여줍니다.

뒤에 타입을 지정하면 해당 타입의 변수만 필터링할 수 있습니다. 예를 들어 %who list는 리스트 변수만 보여줍니다.

%whos는 더 상세한 정보를 테이블 형태로 보여줍니다. 변수 이름, 타입, 값을 한눈에 확인할 수 있습니다.

오류가 발생했을 때는 %debug가 강력합니다. 코드 실행 중 오류가 발생한 후 새 셀에서 %debug를 입력하면 디버거가 실행됩니다.

오류가 발생한 시점의 변수 값을 확인하고, 콜 스택을 따라가며 문제의 원인을 추적할 수 있습니다. 더 세밀한 디버깅이 필요하다면 **set_trace()**를 사용합니다.

코드 중간에 set_trace()를 삽입하면 그 지점에서 실행이 멈추고 디버거가 시작됩니다. 마치 브레이크포인트를 설정한 것과 같습니다.

디버거에서 n(다음), c(계속), q(종료) 등의 명령어로 코드를 단계별로 실행할 수 있습니다. 실제 현업에서는 어떻게 활용할까요?

데이터 전처리 중 중간 결과를 확인하고 싶을 때 해당 변수만 셀에 입력합니다. 복잡한 데이터프레임은 .head(), .info(), .describe() 메서드와 함께 확인합니다.

메모리를 많이 사용할 때는 %whos로 어떤 변수가 메모리를 차지하는지 파악합니다. 하지만 주의할 점도 있습니다.

Jupyter는 셀을 실행한 순서대로 상태가 유지됩니다. 셀을 수정하고 다시 실행하면 예상과 다른 결과가 나올 수 있습니다.

헷갈릴 때는 %reset으로 모든 변수를 초기화하고 처음부터 다시 실행하는 것이 안전합니다. 다시 김개발 씨의 이야기로 돌아가 봅시다.

%whos를 실행한 김개발 씨는 원인을 찾았습니다. 같은 이름의 변수에 다른 값을 덮어씌운 것이 문제였습니다.

"이렇게 쉽게 찾을 수 있다니!" 변수 탐색과 디버깅 기능을 잘 활용하면 문제를 빠르게 해결할 수 있습니다. 복잡한 분석일수록 중간 중간 상태를 확인하는 습관을 들이세요.

실전 팁

💡 - 데이터프레임은 df.head(), df.shape, df.dtypes로 빠르게 구조를 파악하세요

  • 혼란스러울 때는 Kernel > Restart & Run All로 처음부터 다시 실행하세요
  • %debug 모드에서 q를 입력하면 디버거를 종료할 수 있습니다

5. 노트북 공유와 내보내기

김개발 씨가 분석을 마치고 결과를 팀장님께 보고해야 했습니다. 그런데 문제가 생겼습니다.

팀장님 컴퓨터에는 Jupyter가 설치되어 있지 않았습니다. "어떻게 보여드리지?" 박시니어 씨가 해결책을 알려주었습니다.

"노트북을 PDF나 HTML로 내보내면 돼."

Jupyter Notebook은 다양한 형식으로 내보낼 수 있습니다. HTML로 내보내면 웹 브라우저에서 바로 볼 수 있고, PDF로 내보내면 인쇄하거나 이메일로 보내기 좋습니다.

또한 nbviewer나 GitHub를 통해 노트북을 온라인으로 공유할 수도 있습니다.

다음 코드를 살펴봅시다.

# 명령줄에서 노트북 변환 (nbconvert 사용)
# HTML로 내보내기
jupyter nbconvert --to html my_notebook.ipynb

# PDF로 내보내기 (LaTeX 필요)
jupyter nbconvert --to pdf my_notebook.ipynb

# 파이썬 스크립트로 변환
jupyter nbconvert --to script my_notebook.ipynb

# 마크다운으로 변환
jupyter nbconvert --to markdown my_notebook.ipynb

# 슬라이드쇼로 변환
jupyter nbconvert --to slides my_notebook.ipynb

# 코드 실행 후 HTML로 내보내기
jupyter nbconvert --execute --to html my_notebook.ipynb

# 노트북 내에서 HTML 다운로드 링크 생성
from IPython.display import HTML, FileLink
FileLink('my_notebook.ipynb')

김개발 씨는 난감했습니다. 열심히 만든 분석 노트북을 팀장님께 보여드리고 싶은데, ipynb 파일을 열 방법이 없었습니다.

Jupyter 설치를 부탁드리기도 어려운 상황이었습니다. 박시니어 씨가 해결책을 제시합니다.

"노트북을 다른 형식으로 변환하면 돼. HTML로 만들면 웹 브라우저에서 바로 볼 수 있어." 이것이 바로 nbconvert의 역할입니다.

nbconvert는 노트북 변환 도구입니다. Jupyter를 설치하면 함께 설치되는 도구로, 노트북을 HTML, PDF, 마크다운, 파이썬 스크립트 등 다양한 형식으로 변환할 수 있습니다.

터미널에서 명령어 한 줄로 변환이 가능합니다. 가장 많이 사용하는 것은 HTML 변환입니다.

HTML로 변환하면 코드, 결과, 그래프가 모두 포함된 웹 페이지가 생성됩니다. 받는 사람은 웹 브라우저만 있으면 내용을 확인할 수 있습니다.

이메일에 첨부하거나 웹 서버에 올려서 공유할 수 있습니다. PDF 변환은 공식적인 보고서에 적합합니다.

다만 PDF 변환을 위해서는 LaTeX가 설치되어 있어야 합니다. 설치가 번거롭다면 HTML로 먼저 변환한 후 브라우저의 인쇄 기능으로 PDF를 만드는 방법도 있습니다.

파이썬 스크립트 변환도 유용합니다. 노트북에서 프로토타이핑한 코드를 실제 서비스에 적용할 때 사용합니다.

변환하면 마크다운 셀은 주석으로, 코드 셀은 파이썬 코드로 변환됩니다. 물론 매직 명령어 같은 Jupyter 전용 코드는 수동으로 제거해야 합니다.

온라인으로 공유하는 방법도 있습니다. GitHub에 ipynb 파일을 올리면 자동으로 렌더링되어 보여줍니다.

nbviewer라는 서비스에 노트북 URL을 입력하면 누구나 볼 수 있는 형태로 변환해줍니다. 이 방법은 노트북을 수정하면 자동으로 최신 버전이 반영된다는 장점이 있습니다.

GUI로 내보내는 방법도 간단합니다. Jupyter Notebook 메뉴에서 File > Download as를 선택하면 다양한 형식 중 원하는 것을 고를 수 있습니다.

JupyterLab에서는 File > Export Notebook As를 사용합니다. 실제 현업에서는 어떻게 활용할까요?

주간 분석 보고서를 HTML로 내보내서 팀 공유 폴더에 올립니다. 경영진 보고용은 PDF로 깔끔하게 변환합니다.

분석 코드를 프로덕션에 적용할 때는 스크립트로 변환 후 정리합니다. 교육 자료는 슬라이드쇼로 변환해서 발표에 활용합니다.

하지만 주의할 점도 있습니다. 내보내기 전에 반드시 Kernel > Restart & Run All로 노트북을 처음부터 끝까지 실행해보세요.

셀 실행 순서가 꼬여 있으면 내보낸 결과가 재현되지 않을 수 있습니다. 또한 민감한 정보(API 키, 비밀번호 등)가 포함되어 있지 않은지 확인하세요.

다시 김개발 씨의 이야기로 돌아가 봅시다. HTML로 변환한 파일을 팀장님께 메일로 보내드렸습니다.

팀장님은 웹 브라우저에서 깔끔하게 정리된 분석 결과를 확인하고 만족해하셨습니다. "이렇게 보기 좋게 정리했네!" 노트북을 다양한 형식으로 내보내는 방법을 익혀두면 협업과 공유가 훨씬 수월해집니다.

상황에 맞는 형식을 선택해서 활용해 보세요.

실전 팁

💡 - 내보내기 전에 Restart & Run All로 전체 실행을 확인하세요

  • 용량이 큰 이미지가 많으면 HTML 파일 크기가 커질 수 있습니다
  • GitHub에 올리면 별도 변환 없이 바로 노트북을 볼 수 있습니다

6. Google Colab 활용

김개발 씨는 집에서도 분석을 이어서 하고 싶었습니다. 그런데 집 컴퓨터에는 개발 환경이 갖춰져 있지 않았습니다.

"환경 설정하려면 한참 걸릴 텐데..." 그때 박시니어 씨의 말이 떠올랐습니다. "Colab 써봤어?

브라우저만 있으면 어디서든 코딩할 수 있어."

Google Colab은 구글이 제공하는 무료 클라우드 기반 Jupyter 노트북 환경입니다. 별도의 설치 없이 브라우저에서 바로 파이썬 코드를 실행할 수 있으며, 무료로 GPU와 TPU까지 사용할 수 있습니다.

구글 드라이브와 연동되어 노트북 저장과 공유도 간편합니다.

다음 코드를 살펴봅시다.

# Google Drive 연결하기
from google.colab import drive
drive.mount('/content/drive')

# 연결 후 드라이브 파일 접근
import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/data/my_data.csv')

# 파일 업로드 (로컬에서 Colab으로)
from google.colab import files
uploaded = files.upload()

# 파일 다운로드 (Colab에서 로컬로)
files.download('result.csv')

# GPU 사용 확인
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

# 런타임 유형 변경: 메뉴에서 런타임 > 런타임 유형 변경 > GPU 선택

# 패키지 설치 (pip 사용)
!pip install transformers

# 시스템 명령어 실행 (느낌표로 시작)
!ls -la
!nvidia-smi  # GPU 정보 확인

김개발 씨는 퇴근 후 카페에서 분석을 마무리하고 싶었습니다. 하지만 개인 노트북에는 파이썬도 설치되어 있지 않았습니다.

새로 환경을 구축하자니 시간이 아까웠습니다. 그때 Google Colab이 떠올랐습니다.

colab.research.google.com에 접속해서 구글 계정으로 로그인하면 끝입니다. 몇 초 만에 Jupyter 노트북 환경이 눈앞에 펼쳐집니다.

파이썬, 판다스, 넘파이, 텐서플로우 등 주요 라이브러리가 이미 설치되어 있습니다. Colab이 특별한 이유는 무엇일까요?

첫째, 무료 GPU와 TPU를 제공합니다. 머신러닝 모델을 학습할 때 GPU가 있으면 수십 배 빨라집니다.

런타임 유형을 변경하기만 하면 강력한 컴퓨팅 파워를 무료로 사용할 수 있습니다. 둘째, 구글 드라이브와 연동됩니다.

drive.mount() 명령어로 구글 드라이브를 연결하면 드라이브에 있는 데이터를 바로 불러올 수 있습니다. 분석 결과도 드라이브에 저장하면 어떤 기기에서든 접근할 수 있습니다.

노트북 파일 자체도 드라이브에 자동 저장됩니다. 셋째, 공유가 매우 쉽습니다.

구글 문서도구처럼 공유 버튼 하나로 다른 사람에게 노트북을 공유할 수 있습니다. 보기 권한만 줄 수도 있고, 편집 권한을 줄 수도 있습니다.

심지어 동시에 같은 노트북을 편집하는 것도 가능합니다. Colab 특유의 기능도 있습니다.

느낌표(!)로 시작하는 명령어는 시스템 셸에서 실행됩니다. !pip install로 추가 패키지를 설치하고, !ls로 파일 목록을 확인할 수 있습니다.

**files.upload()**와 **files.download()**로 로컬 컴퓨터와 파일을 주고받을 수 있습니다. 하지만 알아두어야 할 제한도 있습니다.

Colab 세션은 일정 시간 사용하지 않으면 종료됩니다. 종료되면 설치한 패키지와 업로드한 파일이 사라집니다.

중요한 결과는 반드시 구글 드라이브에 저장하거나 다운로드 받아두어야 합니다. 또한 무료 사용자는 GPU 사용에 제한이 있을 수 있습니다.

실제 현업에서는 어떻게 활용할까요? 딥러닝 학습을 할 때 로컬 컴퓨터에 GPU가 없으면 Colab을 활용합니다.

팀원과 함께 분석할 때 노트북을 공유해서 협업합니다. 어디서든 작업을 이어가야 할 때 구글 드라이브에 저장한 노트북을 Colab에서 열어서 작업합니다.

다시 김개발 씨의 이야기로 돌아가 봅시다. 카페에서 Colab을 열어 회사에서 저장해둔 노트북을 불러왔습니다.

커피 한 잔과 함께 분석을 마무리한 김개발 씨는 생각했습니다. "이제 어디서든 코딩할 수 있겠네!" Google Colab은 접근성과 강력한 컴퓨팅 파워를 동시에 제공합니다.

특히 딥러닝을 배우거나 GPU가 필요한 작업을 할 때 최적의 선택입니다. 여러분도 지금 바로 Colab에 접속해 보세요.

실전 팁

💡 - 런타임이 종료되기 전에 중요한 결과는 구글 드라이브에 저장하세요

  • GPU 런타임은 메뉴에서 런타임 > 런타임 유형 변경에서 설정합니다
  • Colab Pro를 구독하면 더 오래, 더 강력한 GPU를 사용할 수 있습니다

이상으로 학습을 마칩니다. 위 내용을 직접 코드로 작성해보면서 익혀보세요!

#Python#Jupyter#Notebook#DataScience#Colab#Python,Jupyter

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.