Skip to content

Latest commit

 

History

History
101 lines (62 loc) · 5.56 KB

File metadata and controls

101 lines (62 loc) · 5.56 KB

Jupyter Notebook에 익숙해지기

Jupyter notebook은, 대화형으로 데이터 분석 등의 작업을 용이하게 하기 위해서 만들어진 개발 환경입니다.[fn:jupyter-ipython]

Jupyter notebook을 실행하는 방법으로는 아래와 같은 두 가지의 방법이 있습니다:

  • Anaconda Navigator로 실행하기
  • Anaconda Prompt로 실행하기

Anaconda Navigator로 실행하는 것이 더 편리하나, 후에 nbconvert 같은 것을 실행하여 보고서 문서를 생성할 때는 Prompt를 사용해야 할 경우도 있습니다.

Anaconda Navigator로 실행하기

시작 메뉴에서 Anaconda Navigator를 검색하여 실행합니다.

assets/python-basic-day1-anaconda-prompt-menu.png

Anaconda Navigator에서 Jupyter Notebook을 실행합니다.

assets/anaconda-navigator.png

Anaconda Prompt로 실행하기

우선, Anaconda Prompt를 실행합니다. Anaconda를 설치하면 시작 메뉴에 아래와 같은 메뉴 항목이 등록됩니다.

assets/python-basic-day1-anaconda-prompt-menu.png

프롬프트를 띄웁니다.

assets/python-basic-day1-anaconda-prompt-console.png

아래 명령을 타이핑하여 Jupyter Notebook을 실행합니다.

> jupyter notebook

아래와 같은 내용이 출력되면서, 웹브라우저가 열립니다. 웹브라우저가 열리지 않을 경우에는, 아래에서 볼 수 있는 URL (이 경우에는 http://localhost:8889/?token=cba5e423ed44d8c6d9a2b2bb46ffa1383b7c88ad5bc1c9b7 이고, 실행 환경마다 값은 다릅니다.)을 자주 사용하는 웹브라우저에서 열어줍니다.

[I 10:47:27.203 NotebookApp] Writing notebook server cookie secret to C:\Users\torac\AppData\Roaming\jupyter\runtime\notebook_cookie_secret
[I 10:47:27.419 NotebookApp] The port 8888 is already in use, trying another port.
[I 10:47:27.509 NotebookApp] JupyterLab alpha preview extension loaded from C:\Users\torac\Anaconda3\lib\site-packages\jupyterlab
JupyterLab v0.27.0
Known labextensions:
[I 10:47:27.509 NotebookApp] Running the core application with no additional extensions or settings
[I 10:47:27.974 NotebookApp] Serving notebooks from local directory: C:\Users\torac
[I 10:47:27.974 NotebookApp] 0 active kernels
[I 10:47:27.974 NotebookApp] The Jupyter Notebook is running at: http://localhost:8889/?token=cba5e423ed44d8c6d9a2b2bb46ffa1383b7c88ad5bc1c9b7
[I 10:47:27.974 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 10:47:27.990 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8889/?token=cba5e423ed44d8c6d9a2b2bb46ffa1383b7c88ad5bc1c9b7
[I 10:47:30.775 NotebookApp] Accepting one-time-token-authenticated connection from ::1

그러면 아래와 같은 Jupyter Notebook 화면을 볼 수 있습니다.

assets/python-basic-day1-jupyter-directory-listing.png

가장 처음 나오는 화면은 홈 디렉토리에 존재하는 파일 목록입니다. 위 화면에서처럼 New 아이콘을 클릭하여 새로운 노트북을 만들어봅시다.

아래와 같은 화면을 볼 수 있습니다.

In [ ] 옆에 텍스트를 입력할 수 있는 란이 있습니다. 그 하나의 단위를 Cell이라고 합니다. Cell에는 Python 코드를 적을 수도 있고, Markdown 형식으로 글을 적을 수도 있습니다. 상단 메뉴 중 Cell이라는 메뉴가 있고, 그 하위 메뉴에 Cell Type이 있습니다. 그 하위에는 Code와 Markdown이 있습니다. 이 메뉴를 사용하여 Cell의 종류를 변경할 수 있습니다.

assets/python-basic-day1-jupyter-new-notebook.png

  • Up & Down: 셀간에 커서 이동
  • Shift-Enter: 현재 셀 실행
  • Enter: 현재 셀 수정
  • Ctrl-Enter: 현재 셀 실행하고 명령 모드로 진입
  • Alt-Enter: 현재 셀 실행하고 아래에 새 셀 삽입

[fn:jupyter-ipython] Jupyter라는 이름은 중간에 바뀐 이름이고, 그 이전에는 IPython (Interactive Python)이라는 이름을 사용했습니다. 그래서 현재 Jupyter에도 IPython 시절의 흔적들이 많이 남아있습니다. Jupyter notebook 파일의 이름도 .ipynb 확장자를 사용하는데, IPython Notebook의 줄임말입니다.

Jupyter Notebook 파일 출력하기

Jupyter Notebook 파일은 .ipynb 확장자를 가집니다. 이 파일은 Jupyter Notebook에서 열어서 볼 수 있습니다. 그러나 그 결과를 실제로 어디선가 활용하기 위해서는 일반적인 파일 형식으로 변환하는 것이 필요합니다.

Anaconda Prompt 상에서 아래와 같은 명령을 통해 .ipynb 파일을 HTML 파일로 변환할 수 있습니다. (파일 이름이 networkx-report.ipynb 인 경우라고 합시다)

jupyter nbconvert networkx-report.ipynb

위 명령을 실행하면 networkx-report.html 이라는 파일이 생성됩니다.

그런데, 생성된 파일에는 코드들도 함께 들어가 있습니다. 코드를 모두 제외하고 출력하고 싶을 때는 nbconvert 의 템플릿 기능을 사용하면 되는데, 제가 만들어 놓은 nbreport.tpl 파일을 사용하실 수 있습니다. nbreport.tpl 파일을 다운로드 받은 후, jupyter nbconvert 명령을 실행하는 디렉토리로 복사합니다.

jupyter nbconvert networkx-report.ipynb --template=nbreport.tpl

위 명령을 실행하면, 코드가 모두 제외된 결과물만을 얻을 수 있습니다.