In [82]:
import numpy as np
from timeit import timeit
from numpy.lib.stride_tricks import as_strided
In [83]:
prices = np.random.randn(100)
In [84]:
prices.shape
Out[84]:
In [85]:
window = 10
In [87]:
def make_X1():
X1 = np.zeros([len(prices) - window, window])
for day in range(len(X1)):
X1[day, : ] = prices[day: day+window]
return X1
In [81]:
def make_X2():
stride, = prices.strides
desited_shape = [ len(prices) - window , window ]
X2 = as_strided( prices, desited_shape, strides = [stride, stride], writeable = False )
return X2
In [88]:
timeit(make_X1)
Out[88]:
[ i for i in range ( 101 )]
In [163]:
prices = [[ 1,2,3,4,5 ],[ 5, 4, 3, 2, 1 ],[ 1, 2, 3, 4, 5 ],[ 5, 4, 3, 2, 1 ],[ 1, 2, 3, 4, 5 ]]
In [168]:
X3 = as_strided( prices, (2, 2), strides = [ 20 , 4], writeable = True )
In [169]:
X3
Out[169]:
'딥러닝 모델 설계 > Python 공통' 카테고리의 다른 글
Pandas fundamental operations (0) | 2019.06.24 |
---|---|
제일 효율적인 벡터화 연산 좋은 자료 (0) | 2019.06.19 |
numpy 기초 (0) | 2019.06.18 |
csv 라이브러리 활용 및 Tkinter 파일 입출력 다이얼로그 (0) | 2019.06.17 |
MatPlotlib를 이용한 히스토그램 그리기 (0) | 2019.06.17 |