반응형



Jupyter Lab – 단축키와 매직 기능

단축키 (Shortcut) 을 숙지하고 잘 사용할 수 있다면 더욱 생산적인 작업을 가능하게 할 것입니다. 본 포스팅에서는 자주 사용하는 Jupyter lab 의 단축키를 정리해보고자 합니다. 예를 들어, 주피터 랩에서는 새로운 cell 을 만들거나 작업이 끝난 cell 을 삭제할 일이 많습니다. 단축키를 사용하면, 단축키를 사용하지 않고 키보드를 통해 새로운 cell 을 추가하고 삭제하는 것보다 훨씬 빠르게 작업을 할 수 있습니다. 그리고 외우는데 시간이 오래걸리지도 않습니다!

Jupyter Lab의 단축키

  1. ESC  를 눌러 커맨드 모드로 진입하여 ENTER 를 통해 cell 을 수정할 수 있습니다. 아래 커맨드는 커맨드 모드에서 동작합니다. 
  2. A 는 현재 cell 위에 새로운 cell 을 추가합니다.
  3. B 는 현재 cell 밑에 새로운 cell 을 추가합니다.
  4. D + D D를 연속해서 두번 누르면 현재 cell 을 삭제합니다. 
  5. M 은 Markdown 셀로 변환하며, Y 는 Code 셀로 변환하고  R 은 Raw Cell 로 변환합니다.
  6. CTRL + B 화면을 더 크게 사용할 수 있습니다. 왼쪽 파일 탐색기가 사라집니다.
  7. SHIFT + M 두 개의 셀을 한개의 셀로 Merge 합니다.
  8. CTRL + SHIFT + – 현재 커서 위치를 기준으로 두 개의 셀로 구분합니다. 
  9. SHIFT+J or SHIFT + DOWN 현재 셀에서 아래쪽 위치로 새로운 셀을 같이 선택합니다. 
  10. SHIFT + K or SHIFT + UP 현재 셀에서 위쪽 위치로 새로운 셀을 같이 선택합니다. 
  11. CTRL + / 선택한 코드를 주석처리합니다.

기타 잘 알려지지 않은 단축키

  1. CTRL+D: 한줄 삭제하는 단축키입니다. 
  2. CTRL+[ or CTRL+]: 단체 indentation / Tab과 Shift+Tab 으로도 가능하지만, text editor 에서는 Shift+tab 이 안먹혀서 CTRL+[ 을 쓰면 유용합니다.  

Jupyter Lab 매직 기능 (Magic function)

매직 기능은 Ipython kernel 에서 제공하는 것이며, Jupyter lab 과 Jupyhter notebook 모두에서 작동합니다. 이는 어떤 언어를 선택하든 (예를 들어, Jupyter lab 에서 R을 사용하든 Python 을 사용하든) 동작합니다.

  1. %matplotlib inline 플롯을 화면 안에서 보여준다.
  2. %lsmagic 매직 기능에 어떤것들이 있는지 출력해준다. 
  3. %env 

    • %env 모든 환경변수를 출력한다.
    • %env var 해당 이름의 환경변수를 출력한다.
    • (%env var val) or (%env var=val) 환경변수를 설정한다.
  4. %run 

    • %run file_name 해당 이름의 .py 파일 또는 .ipynb 파일을 셀 안에서 실행한다. 
  5. %load 

    • %load source 해당 파일을 셀 안에 로드한다.
  6. %who = will list all variables that exist in the global scope. It can be used to see what all data_frames or any other variable is there in memory. 
    • %who: 현재 전역 환경의 모든 변수를 리스트한다. (메모리에 어떤 변수들이 올라와 있나 확인할 수 있다.)
    • %who df: 현재 선언된 dataframe 을 볼 수 있다. 
    • %whos: %who 와 비슷하지만 각 변수들에 대해 상세한 설명을 볼 수 있다. 
  7. %time 한 셀이 실행된 시간을 볼 수 있다. 
  8. %timeit 10만 번 실행하여 평균 시간을 잰다. 
  9. %writefile 

    • %writefile file_name 해당 파일의 셀의 아웃풋을 쓴다.
    • %writefile -a file_name 해당 파일의 셀의 아웃풋을 덧붙인다.

Jupyter configuration file (환경설정) 변경하기

주피터 랩에서는 print 문을 쓰지 않고 어떤 변수를 cell 에 입력했을 때, 가장 마지막 줄만 실행해서 결과로 내보냅니다. 이것이 불편하다면 아래 문장을 실행하면 됩니다. 개인적으로 유용하다고 생각합니다. 이렇게 하면 일일히 print 문으로 감싸줄 필요가 없게 됩니다.   

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

하지만 위 코드를 실행하는 것은 영구적으로 설정을 변경하지는 않는데, 영구적으로 설정을 변경하기 위해서는 configuration file 을 변경하면 됩니다. 이에 대한 설명은 해당 링크를 참고하시면 됩니다. configuration file 을 찾은 후에 아래 코드를 삽입해줍니다.

c.InteractiveShell.ast_node_interactivity = "all"

이외에도 주피터 랩에서는 더 많은 단축키와 매직 기능이 있습니다.



반응형