2021. 6. 30. 21:48ㆍ캐리의 데이터 세상/캐리의 데이터 공부 기록
IPython 인터프리터에 추가된 특수 명령어인 매직 명령어(magic functions) 중 자주 사용하는 명령어를 아래와 같이 살펴보겠습니다. %기호로 시작하며 만약 매직함수와 같은 이름의 변수가 선언되어 있지 않다면 기본적으로 % 기호 없이도 매직 함수를 사용할 수 있습니다. 이를 오토매직 automagic이라고 하는데 %automagic을 이용해서 이 기능을 켜거나 끌 수도 있습니다.
자주 사용하는 IPython 매직 명령어
명령어 | 설명 |
%quickref | IPython의 빠른 도움말 표시 |
%magic | 모든 매직함수에 대한 상세 도움말 출력 |
%debug | 최근 예외 트레이스백의 하단에서 대화형 디버거로 진입 |
%hist | 명령어 입력 히스토리 출력 |
%pdb | 예외가 발생하면 자동으로 디버거로 진입 |
%paste | 클립보드에서 들여쓰기 된 채로 파이썬 코드 가져오기 |
%cpaste | 실행할 파이썬 코드를 수동으로 붙여 넣을 수 있는 프롬프트 표시 |
%reset | 대화형 네임스페이스에 정의된 모든 변수와 이름을 삭제 |
%page OBJECT | 객체를 pager를 통해 보기 좋게 출력 |
%run script.py | 지정된 스크립트를 실행 |
%prun statement | cProfile을 이용하여 statement를 실행하고 결과를 출력 |
%time statement | statement의 단일 실행 시간을 출력 |
%timeit statement | statement를 여러 차례 실행한 후 평균 실행 시간을 출력. 매우 짧은 시간 안에 끝나는 코드의 시간을 측정할 때 유용함 |
%who, %who_ls, %whos | 대화형 네임스페이스 내에 정의된 변수를 다양한 방법으로 표시 |
%xdel variable | variable을 삭제하고 IPython 내부적으로 해당 객체에 대한 모든 참조를 제거 |
매직 명령어 실행 예시
o'reilly 시리즈 중 올해 개정된 <파이썬 라이브러리를 활용한 데이터 분석>책을 조금씩 보고 있는데요, 아래 코드는 책에 실린 매직 명령어 예제 중 일부입니다. 주피터 노트북이나 혹은 코랩에서 한번 실행시켜 보세요.
# 행렬 곱셈 같은 코드가 실행된 시간을 측정하고 싶을 때
import numpy as np
a = np.random.randn(100,100)
%timeit np.dot(a,a)
#결과
35.6 µs ± 1.01 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%pwd
#결과
'C:\\Users\\바탕 화면\\파이썬 연습'
%time np.dot(a,a)
#결과
Wall time: 987 µs
array([[ 13.28627589, -4.74782856, 3.90051145, ..., 4.12998132,
-1.34842377, 7.10244035],
[ -5.32338013, -7.78288728, -26.36832733, ..., 17.88650483,
-8.07419406, -2.83192894],
[ -5.96396267, 8.09937546, 21.18513248, ..., -4.23809117,
-11.55189932, 5.94434464],
...,
[ 11.30521634, 19.4757304 , 16.03936497, ..., -5.90619226,
-11.0187052 , 4.74311759],
[ 13.17767739, 17.97823843, 10.96004146, ..., 0.93789237,
-1.95780555, -6.39983762],
[ 9.30081448, 12.69073687, -3.90632694, ..., 6.3560083 ,
17.05647327, 3.19946632]])
%hist
#결과
a = np.random.randn(100,100)
%timeit np.dot(a, a)
import numpy as np
a = np.random.randn(100,100)
%timeit np.dot(a, a)
%debug?
%time np.dot(a, a)
%who
%who_ls
%whos
%hist
%timeit 5*64
#결과
8.63 ns ± 0.0675 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)
▼ 보다 자세한 IPython 매직 명령어 리스트는 공식 페이지에서 확인하세요. 예제도 함께 확인할 수 있습니다.
https://ipython.readthedocs.io/en/stable/interactive/magics.html
Built-in magic commands — IPython 7.25.0 documentation
‘gtk3’, ‘inline’, ‘ipympl’, ‘nbagg’, ‘notebook’, ‘osx’, ‘pdf’, ‘ps’, ‘qt’, ‘qt4’, ‘qt5’, ‘svg’, ‘tk’, ‘widget’, ‘wx’). If given, the corresponding matplotlib backend is used, otherwise it will be
ipython.readthedocs.io
▼ 참고글
'캐리의 데이터 세상 > 캐리의 데이터 공부 기록' 카테고리의 다른 글
AWS 클라우드 실습 기록 - 서버생성 및 글로벌 인프라 (0) | 2021.09.07 |
---|---|
무료로 인공지능 교육과정 이어가기 (0) | 2021.09.03 |
구글 코랩 마크다운(Markdown) 텍스트 편집 (1) | 2021.07.31 |
코세라 머신러닝 앤드류응 강의 및 구독료 비교 (0) | 2021.06.25 |
구글 머신러닝 단기집중과정과 AI 활용 사례 (0) | 2021.06.06 |
클라우드 트렌드 관련 영상 모음 (0) | 2021.05.25 |
오차 행렬(confusion matrix)로 분류 성능 평가 (0) | 2021.04.24 |