나의 발자취
금융공학 코딩 과제 3주차 본문
여기서 시간을 측정하는 법에 대해 한번 짚고 넘어가자
-
IPython은 현재 Jupyter의 커널 중 Python부분에 해당. Jupyter의 전신이 IPython이었던 만큼, Jupyter는 IPython을 default kernel로써 포함.
-
IPython에는 Python code의 퍼포먼스, 메모리 사용, 수행 시간등을 편리하게 프로파일링 하게 도와주는 여러 Magic Command들이 있다
-
% 의 경우 한 줄의 코드에서만 실행되며, %% 의 경우 여러 줄, 즉 한 셀의 내용 전체에서 실행된다
-
%time 은 코드가 실행되는데 걸리는 시간을 측정해준다
-
%timeit은 보다 복잡한 조작을 가능하게 해준다. %timeit은 주어진 코드를 여러번 실행해보고 그 평균시간을 알려준다
-
출력은 Wall time으로 측정된다.
-
CPU time : 작업을 수행한 프로세서의 시간을 합산한 시간.
-
wall time : 작업을 수행한 시간.
-
예를 들어 A라는 작업을 2개 프로세서(코어)에서 동시에 쉬지지않고 작업했는데 2초가 걸렸다면, CPU time은 4초, wall time은 2초이다.
-
작업을 수행하는 개별 프로세서는 중간에 쉴때가 존재하므로 단순히 (wall time) * (프로세서 수) 로 CPU time이 계산되지는 않는다.
-
--------------------------------------------------------------------------------------------------------------
-
ndarray는 fixed-size homogeneous multidimensional array 정도로 이해할 수 있으며, 기본적으로 vectorization과 broadcasting을 지원한다.
-
vectorization과 broadcasting은 뒤에서 설명이 나오니까 일단 넘어가자
-
ndarray의 주요 속성은 다음과 같다.
- shape : 배열의 형태
- dtype : 요소의 데이터 타입, int32, float32 등등
- ndim : 차원수. x.ndim = 1, y.ndim=2 등이며 len(x.shape) 와 동일
- size : 요소의 개수. shape의 모든 값의 곱. x.size = 3, y.size=6 등
- itemsize : 요소 데이터 타입의 크기(byte 단위), x.itemsize=8 등
- data : 실제 데이터. 직접 사용자가 접근할 필요는 없음
구조화 배열에서 궁금증: 프린트 하면 나오는 b는 뭐지
코드 벡터화와 브로드캐스팅에서 .T가 뭐지
np.pi가 뭐지ㅣ
np.array(x,y)가 어떻게 추출되어서 마지막 프린트 결과가 이렇게 나오는건지
'금융공학 > 프로그래밍 공부' 카테고리의 다른 글
파이썬 증권데이터분석 맥OS (0) | 2021.01.30 |
---|