[Python] Jupyter Notebook 사용법 (how to use Jupyter Notebook)
Python 분석과 프로그래밍/Python 설치 및 기본 사용법 2017. 3. 19. 22:48지난번 포스팅에서는
(Python 3.6, Spyder, Jupyter Notebook, IPython 설치)
에 대하여 알아보았습니다.
이번 포스팅에서는 Python 을 interactive 하게, 편리하게 즉각적으로 결과를 봐가면서 데이터 처리, 분석을 할 수 있는 Jupyter Notebook 사용법을 소개하겠습니다.
특히 실습 교육을 진행할 때, 혹은 데이터 분석 결과를 포함한 내용으로 보고서 작성이나 프리젠테이션 할 때 Jupyter Notebook의 markdown 기능을 곁들여서 코드랑 같이 사용하면 유용하더군요. Jupyter Notebook 안에 텍스트 뿐만 아니라 이미지 파일이나 심지어 동영상도 삽입해서 수강생들에게 공유할 수 있으니 교육 실습 자료로 Jupyter notebook을 사용하면 여러모로 쓸모가 있습니다.
사용법이 그리 어렵지는 않구요, 시간 좀 들여서 이것 저것 눌러보면서 사용해보면 금방 익힐 수 있을거예요. 다만 처음 사용하는 분 입장에서는 '실행'을 어떻게 하는거지 부터 해서... Rstudio 나 Spyder 와는 UI가 다르기 때문에 낯설은 부분이 있는 만큼, 이번 포스팅은 Jupyter Notebook 첫번째 사용자를 대상으로 포스팅을 써봅니다.
1. Start 'Jupyter Notebook'
먼저, Windows 사용자라면 아래 화면캡쳐처럼 메뉴바에서 'Anaconda3 > Jupyter Notebook' 메뉴를 선택하면 됩니다.
또는 Anaconda Navigator 를 론칭한 후에, Jupyter Notebook 아이콘을 클릭해서 Jupyter Notebook을 실행할 수도 있습니다.
혹은 명령 프롬프트 창에서 가상환경 리스트 확인하고, 가상환경 활성화 한 후에 jupyter notebook 을 실행시켜주면 됩니다. (Mac 의 경우 $ source activate base 로 가상환경 활성화 해줌)
-- Windows OS 기준
$ conda info -e
$ activate base
$ (base) jupyter notebook
2. Jupyter Notebook 첫 화면 : (1) Files
Jupyter Notebook을 실행 시키면 아래 화면캡쳐와 같이 첫화면이 나타납니다. 특이하게 'Internet explorer' 가 창으로 뜹니다. (1) Files, (2) Running, (3) Clusters 의 세 개의 tab 으로 구성되어 있습니다.
먼저 'Files' tab을 살펴보면 폴더랑 python script 파일 (*.ipynb) 들이 리스트로 줄줄이 나열되어 있습니다. 기존에 저장해두었던 파일 클릭해서 실행시키면 되겠지요?
2. Jupyter Notebook 첫 화면 : (2) Running
'Running' tab에 들어가 보면 현재 실행 중인 python 파일을 확인할 수 있습니다. 'Shutdown' 단추를 누르면 '죽일 수'도 있구요.
2. Jupyter Notebook 첫 화면 : (3) Clusters
'Clusters' tab에 가보면 IPython parallel 의 clusters 를 볼 수 있습니다.
2. Jupyter Notebook 첫 화면 : (4) Kernel
사용자 웹 UI 화면 말고 뒷단에서는 아래 화면캡처와 같은 Kernel 창이 하나 더 있습니다. 백조의 호수 물 밑의 부지런한 두 물갈퀴 다리 같다고나 할까요. 아래 창은 신경 안쓰셔도 됩니다.
3. Jupyter Notebook : Create a new Notwbook with Python 3
자, 이제 본론으로 들어가서요, 새로운 Python 3 Notebook 창을 만들어 볼까요?!
우측 상단의 'New' 메뉴를 선택하고 'Python 3'를 클릭해 보세요.
4. Jupyter Notebook : Rename Notebook
그러면 아래처럼 Notebook 창이 하나 뜹니다. 아래 네모난 빈 Cell에 Python script 쓰면 됩니다.
파일 제목을 'Untitled'에서 새로운 이름을 부여해서 저장해놓고 시작하는게 좋겠네요. 그쵸?
아래 화면캡쳐의 'Untitled' 부분을 클릭하면 그 아래의 'Rename Notebook' 창이 새로 뜨구요, 새로운 이름을 써 준 후에 'OK' 눌러주면 됩니다.
5. Jupyter Notebook : Run current cell (Shift+Enter, Ctrl+Enter)
(1) 현재 커서가 있는 Cell 에서 아래 화면캡쳐의 빨강 동그라미 아이콘(▶|)을 클릭하면 Python script가 실행됩니다.
(2) 단축키를 쓸 수도 있는데요, 'Shift + Enter' 를 사용하면 현재 커서가 있는 Cell 이 실행이 되고요, 커서가 다음번 Cell로 넘어갑니다.
(3) 단축키 중에서 'Ctrl + Enter'를 사용하면 현재 커서가 있는 Cell 이 실행이 되고요, 커서가 현재 Cell에 그래도 남아있게 됩니다.
6. Jupyter Notebook : Tool-bar
Tool-bar 간단히 살펴보고 가시죠. 순서대로 보면 아래와 같은데요, 두개씩 쌍을 이루고 있습니다.
- 저장 (save)
- 아래에 Cell 추가 (insert cell below)
- 선택한 Cell 삭제 (cut selected cells)
- 복사 (copy selected cells)
- 붙여넣기 (paste cells below)
- 선택한 Cell 위로 이동 (move selected cells up)
- 선택한 Cell 아래로 이동 (move selected cells down)
- 실행 (run cell, select below) <- 'Shift + Enter'
- 중단 (interupt kernel)
7. Jupyter Notebook : Open the command palette
아래 화면 캡쳐 상단의 빨간 박스의 아이콘을 클릭하면 --> 그 아래처럼 'palette command' 창이 뜹니다. 'change cell to heading 1', 'change cell to heading 2', .... 처럼 선택할 수 옵션이 여러개 뜨는데요, 위에 있는것일 수록 글자 크기가 큰 부연설명 제목을 달 수 있습니다.
8. Jupyter Notebook : (1) Run All, (2) Run All Above, (3) Run All Below
Spyder는 Editor 창에 python scripts 를 써놓고 전부 실행, 특정 Cell 실행, 선택한 영역 실행을 하는데 편리합니다. Jupyter Notebook 에도 이와 비슷한 기능이 있습니다.
'Cell' 메뉴를 누르면 '실행(Run)' 관련된 세부 메뉴가 뜨는데요, 이중에서도 'Run All', 'Run All Above', 'Run All Below' 는 Tool-bar에 없는 기능이므로 알아두면 유용할것 같습니다.
9. code 행 번호 표시하기 : Esc + l (영어 소문자 'l' )
코드가 길면 어느 행인지 찾기가 힘들 수 있는데요, (교육하거나 협업하거나 할 때...)
이때 코드 행 번호가 옆에 표시 되면 찾아가기에, 의사소통하기에 편할 것입니다.
[ before ]
[ Esc + l 실행 후 ] : 왼쪽에 노란색 칠한 부분에 cell 내 행번호가 생성되었음. 토글키로 한번 더 'Esc + l' 누르면 다시 원래대로 돌아감.
10. Jupyter Notebook 단축키 (shortcuts)
Command mode에서 'H'를 누르면 아래와 같이 2가지 종류(Command mode, Edit mode)의 Jupyter Notebook의 단축키 정보를 확인할 수 있습니다.
(1) Command mode ('Esc' 를 누르고서...)
저는 Command mode 에서는 마크다운 Esc + M + 1 / 2/ 3, to code 인 Esc + Y 과 행 삽입 Esc + A, Esc + B, 행 삭제 Esc + D + D 를 많이 쓰는 편입니다.
(2) Edit mode ('Enter'를 치고서...)
Edit mode 단축키 중에서는 들여쓰기(indentation)를 위해서 Tab, Ctrl-], Ctrl-[, 모두 선택하는 Ctrl-A, 실행 취소하는 Ctrl-Z, 저장하고 체크포인트 하는 Ctrl-S 를 많이 쓰는 편이네요.
11. Cell 전체에 한꺼번에 코멘트 부호 '#' 넣기 : Ctrl + /
Cell 전체를 블록으로 선택한 후에 Crtl + / 을 누르면 코멘트 부호 '#'가 들어가서 코드가 비활성화되며, 토글키로서 Crtl + / 를 한번 더 누르면 코드가 다시 활성화됩니다.
12. Python 함수의 옵션, 도움말 살펴보기 : Shift + Tab
위의 10-2에서 소개한 단축키 중에서 또 자주 사용하는 것이 있다면 'Shift-Tab: tooltip' 입니다. 함수의 옵션을 모두 다 정확하게 기억하고 사용하는 것은 현실적으로 어렵습니다. 함수의 옵션과 도움말을 확인하고 참고하고 싶을 때 외부 인터넷 검색하는 것 없이 Jupyter Notebook에서 간단하게 조회할 때 함수에 커서를 위치시켜 놓고 'Shift + Tab'을 누르면 아래와 같이 함수에 대한 사용 설명이 나옵니다. 'Shift + Tab'은 간단한 화면, 'Shift + Tab + Tab'하면 자세한(긴) 설명을 볼 수 있습니다.
이밖에도 Jupyter Notebook 기능이 여러개 더 있지만 전부 소개하기에는 스크롤 압박이 심하므로 여기까지만 소개하도록 할께요.
많은 도움이 되었기를 바랍니다.
이번 포스팅이 도움이 되었다면 아래의 '공감~♡'를 꾸욱 눌러주세요. ^^