IPython 매직 명령어 모음
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
▼ 참고글
반응형
'캐리의 데이터 세상 > 캐리의 데이터 공부 기록' 카테고리의 다른 글
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 |