파이썬 IPython - 파이썬 라이브러리를 활용한 데이터 분석 中
※본 포스팅은 "파이썬 라이브러리를 활용한 데이터 분석"을 공부하면서 기억이 나지 않을 때 다시 돌아볼 목적으로 필요 내용만 간단하게 정리하였습니다.
IPython 사용하기
자기관찰 ?
%run
%paste, %cpaste
단축키 1
ctrl+p |
command를 역순으로 검색 |
ctrl+n |
command를 최근 순으로 검색 |
ctrl+shift+v | 클립보드 텍스트 붙여넣기 |
ctrl+c | 실행중인 코드 중지 |
ctrl+e | 커서를 끝으로(e), 처음으로(a) |
ctrl+k | 커서가 놓인곳부터 지우기(k), 모두지우기(u) |
ctrl+f | 한글자씩 이동 앞으로(f), 뒤로(b) |
ctrl+l | 화면 클리어(r, unix 등과 비슷) |
ctrl + s, r | 검색 가능 |
매직명령어 2
%quickref |
IPython의 빠른 도움말 표시 |
%magic |
모든 매직함수에 대한 상세 도움말 출력 |
%debug |
최근 예외처리문 하단에서 대화형 디버거 실행 |
%hist |
명령어를 입력하고 나서 선택적으로 히스토리 출력 |
%pdb |
예외가 발생하면 자동으로 디버거 실행 |
%paste |
클리보드에 저장된 파이썬 코드를 에러 없이 가져올 수 있도록 함 |
%cpaste |
실행중인 파이썬 코드를 수동으로 붙여넣기 가능하도록 프롬프트에 표시 |
%reset |
네임스페이스에 있는 모든 변수와 이름 삭제 |
%page OBJECT |
객체를 pager로 가독성 있게 출력 |
%run script.py |
IPython 내에서 스크립트를 실행해 줌 |
%prun statement |
cProfile을 통해 statement를 실행하고 프로파일링 결과 출력 |
%time statement |
단일 statement의 실행 시간을 출력한다 |
%timeit statement |
statement를 반복적으로 실행하고 평균 시간을 출력하는 방법으로 아주 짧은 시간 안에 실행이 완료되는 코드의 실행 시간을 측정할 때 유용하다 |
%who, %who_ls, %whos |
네임스페이스 내에 정의된 변수를 다양한 방법으로 표시한다 R의 ls()와 비슷한듯 |
%xdel variable |
variable을 삭제하고 IPython 내부적으로 해당 객체를 참조하는 모든 참조를 제거한다 |
IPython에서 GUI 콘솔을 사용하는 방법
ipython qtconsole --pylab=inline
--pylab 옵션을 ipython 실행시 함께 입력하면 gui 콘솔 사용이 가능하다
명령어
입출력 변수 _ , __ , _i#
%logstart
운영체제 명령어 사용
!cmd |
시스템 쉘에서 cmd 명령어를 실행 |
output = !cmd args |
cmd명령어를 실행하고 출력과를 output에 저장 |
%alias alias_name cmd |
시스템(쉘) 명령어에 대한 별칭을 정의 |
%bookmark |
IPython의 디렉터리 북마크 시스템을 활용 |
%cd directory |
시스템의 작업 디렉터리를 directory로 변경 os.chdir() 와 동일 |
%pwd |
현재 시스템의 작업 디렉토리를 반환 os.getcwd() 와 동일 |
%pushd directory |
현재 디렉토리를 스택에 추가하고 새로운 디렉토리로 이동 |
%popd |
스택에 저장된 디렉토리를 꺼내서 그 디렉토리로 이동 |
%dirs |
현재 디렉토리 스택에 저장된 디렉토리 목록 출력 |
%dhist |
접근했던 디렉토리 히스토리 출력 |
%env |
시ㅡ템 환경 변수를 dict 타입으로 출력 |
!명령어
위의 !cmd에서 본 것처럼 !는 시스템 쉘 상에서 해당 명령어를 실행하라는 의미이다. rm 이나 del 같은 배쉬 명령어를 사용가능하다는 소리다.
!python 입력시 파이썬이 쉘샹에서 실행된다. 이때 IPython의 제어권은 사라지고 exit하면 돌아온다.
!ls
달러 기호 $를 붙이면 IPython 상에서 정의된 변수를 의미한다. 아래와 같이 파일 검색에 활용이 가능하다
foo = 'a*'
!ls %foo
> a1.py a2.py a3.py
별칭(%alias)과 북마크(%bookmark)
디버깅 (%debug)
- s(스텝)을 누르면 스크립트로 진입한다.
- b #(number)를 누르면 해당 줄로 진입한다.
- c(계속)를 누르면 브레이크 포인트에 걸릴 때까지 스크립트를 실행한다
코드시간 측정 %time, %timeit
%prun, %lprun
.... (추가 예정)
$ ipython notebook --pylab=inline
IPython 추가 팁
reload(모듈) , dreload(모듈)
IPython을 좀더 자세하게 알게되니 지금까지는 몰랐던 IPython의 편리함과 그 기능의 우수함을 새삼 깨닫게 느껴진다. IPython이 진짜 최고의 파이썬 개발툴인 것 같다
'Data Science > 파이썬으로 데이터분석 하기' 카테고리의 다른 글
파이썬으로 데이터 분석하자 (5) - Matplotlib 기본 (2) | 2017.12.08 |
---|---|
파이썬으로 데이터분석하자 (4) - Pandas 기본 (7) | 2017.12.06 |
파이썬으로 데이터 분석하자 (3) - NumPy 기본 (4) | 2017.10.09 |
Python 기초 - NumPy Broadcasting 이해하기 (2) (1) | 2017.10.09 |
Python 기초 - NumPy로 선형대수 표현하기 (1) (2) | 2017.10.09 |
Python 기초 - 일급함수(first-class)란 무엇인가 (2) | 2017.09.20 |
파이썬으로 데이터 분석하자 (1) (1) | 2017.09.19 |
댓글