Jupyter Notebook 자주 사용하는 Magic Command 정리
Ipython (Jupyter Notebook) 에는 마법같은 기능을 제공해주는 Magic Command 가 내장되어 있습니다.
당장 Cell 에 %lsmagic 이라고 입력하면 다음과 같은 다양한 Magic Command 목록이 나옵니다.
%lsmagic
Available line magics:
%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cd %clear %cls %colors %conda %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%capture %%cmd %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
상당히 많은 매직 커맨드가 나옵니다만, 여기서 개인적으로 자주 사용하는 매직 커맨드 몇 개만 정리해보겠습니다.
1. %matplotlib inline, %matplotlib notebook
아마도 Magic Command 가 뭔지 몰라도 %matplotlib line 이 코드는
matplotlib 사용시 거의 기본적으로 적어놓고 시작하지 않나 생각되는 코드입니다.
원래 %matplotlib 은 matplotlib 의 backend 를 설정하는 명령어 입니다.
%matplotlib -l 을 입력하면 여러개의 선택지가 나오는데요.
그렇지만 보통 Jupyter Notebook 에서는 inline, notebook 을 많이 사용합니다.
차이는 아래와 표와 같습니다.
매직 커맨드 | 의미 |
%matplotlib inline | show 명령 없이도 바로 그래프 표현 (정적) |
%matplotlib notebook | show 명령 없이도 바로 그래프 표현 (동적) |
Jupyter Notebook에서 matplotlib 의 그래프를 show 명령어 없이도 바로 그래프로 보여주는 매직 커맨드 입니다.
<예시>
2. %time, %timeit, %%time, %%timeit
이름 처럼 수행된 시간을 측정하여 반환해주는 매직 커맨드 입니다.
시간을 측정한다는 것은 비슷하지만 아래 표와 같이 차이가 있습니다.
매직 커맨드 | 적용 범위 | 의미 |
%time | 라인 | 명령어 뒤에 한줄 코드가 수행되는데 걸리는 시간을 반환합니다. |
%timeit | 라인 | time + iteration 으로 이해하시면 됩니다. 명령어 뒤에 한줄 코드를 몇번 반복 수행 후 평균 시간을 반환합니다. |
%%time | 셀 | %를 두개 적으면, Cell 전체에 적용이 됩니다. 즉, Cell 코드를 모두 수행한 후 시간을 측정하여 반환합니다. |
%%timeit | 셀 | %를 두개 적으면, Cell 전체에 적용이 됩니다. 즉, Cell 코드를 모두 반복 수행한 후 평균 시간을 측정하여 반환합니다. |
<예시>
3. %who, %who_ls, %whos
%who, %who_ls, %whos 일명 who 시리즈 매직 키워드는 현재 커널 메모리에 할당된 변수 정보를 반환해 줍니다.
여기서 변수라 함은 일반적으로 생각하는 int, str, float, list 등 이런 변수 개념 보다 큽니다.
특정 이름의 변수에 할당된 모듈, 함수, 등 모든 것이 반환됩니다.
%who, %who_ls, %whos 의 차이점은 다음과 같습니다.
매직 커맨드 | 의미 |
%who | 변수명을 tab 으로 단순하게 나열 하여 반환 합니다. |
%who_ls | 변수명을 리스트 형태로 반환합니다. |
%whos | 변수명, 유형, 데이터 정보를 상세히 반환합니다. |
%whos 가 데이터 정보도 나오기 때문에 주로 이것을 많이 씁니다.
<예시>
'IT > Jupyter notebook' 카테고리의 다른 글
Jupyter Notebook 실행 위치 지정 방법 (1) | 2020.03.17 |
---|---|
Jupyter Notebook 크롬으로 실행하는 법 (1) | 2020.03.16 |
댓글