반응형

B.2.1 셸 명령어와 별칭

IPython에서 !로 시작하는 줄은 느낌표 다음에 있는 내용을 시스템 셸에서 실행하라는 의다.

rm이나 del 명렬

 

셸 명령어의 콘솔 출력은 ! 를 이용해서 변수에 저장할 수 있다.

 

%alias 매직 함수는 셸 명령어에 대한 사용자 단축키(별칭)를 정의한다.

%alias ll ls -l

ll /usr

 

B.2.2 디렉터리 북마크 시스템

%boomark

디렉토리에 대한 별칭을 저장해도구 쉽게 이동 할 수 있도록 한다.

 

B.3 소프트웨어 개발 도구

 

B.3.1 대화형 디버거

%debug

사후처리 post-moterm 디버거 실행되고 예외가 발생한 시점의 스택 프레임 정보를 보여준다.

u up

d down

%pdb 

s step

 

대화형 디버거

 

디버거를 사용하는 다른 방법

set_trace함수 pdb.set_trace

 

B.3.2 실행 시간 측정 : %time 과 %timeit

import time

time.clock

time.time

 

%time은 한 문장을 실행하고 소요된 전체 실행 시간을 알려준다.

%timeit 한 문장을 실행하여 좀 더 정확한 평균 실행 시간을 구한다.

%tiemit 마이크로초 또는 나노초 단위의 매우 짧은 실행 시간을 가지는 함수나 문장을 분석하는데 매우 유용하다.

 

B.3.3 기본적인 프로파일링: %prun과 %run -p

cProfile은 프로그램이나 임의의 코드 블록을 실행하면서 각 함수에서 소요된 시간을 계속 기록한다.

python -m cProfile cprof_example.py

-s 정렬 순서 를 지정해주는 것이 보편적이다

cumulative

cumtime 

 

B.3.4 함수의 각 줄마다 프로파일링하기

%prun 

%lprun

 

B.4 IPython을 이용한 생산적인 코드 개발에 관한 팁

패러다임 전환 paradigm shift

 

B.4.1 모듈 의존성 리로딩하기

import some_lib을 입력하면 some_lib에 있는 코드가 실행되고 모든 변수와 함수, 그 안에 있는 import는 새로 생성된 some_lib 모듈의 네임스페이스 안에 저장된다.

reload

dreload

반응형

' > python for Data Analysis' 카테고리의 다른 글

Apeendix-05  (0) 2021.03.13
Apeendix-03  (0) 2021.03.09
Apeendix-02  (0) 2021.03.06
Apeendix  (0) 2021.03.06
14-2. 데이터 분석 예제 Apeendix A: 고급 Numpy  (0) 2021.03.02

+ Recent posts