2017-04-11 3 views
0

numpy 배열 배열에 대한 롤링 연결 함수를 구현하고 싶습니다. 제 NumPy와 배열 인 경우, 예를 들어, 다음numpy 배열의 롤링 연결 배열

[[1.0] 
    [1.5] 
    [1.6] 
    [1.8] 
    ... 
    ... 
    [1.2] 
    [1.3] 
    [1.5]] 

를 한 다음, (3)의 윈도우 사이즈에 대해, 내 함수 반환해야

[[1.0] 
    [1.0 1.5] 
    [1.0 1.5 1.6] 
    [1.5 1.6 1.8] 
    ... 
    ... 
    [1.2 1.3 1.5]] 

입력 배열뿐만 아니라 다른 형태의 구성 요소를 가질 수있다 . 예를 들어, 입력 인 경우

[[1.0] 
[1.5] 
[1.6 1.7] 
[1.8] 
... 
... 
[1.2] 
[1.3] 
[1.5]] 

다음 출력 같아야

[[1.0] 
    [1.0 1.5] 
    [1.0 1.5 1.6 1.7] 
    [1.5 1.6 1.7 1.8] 
    ... 
    ... 
    [1.2 1.3 1.5]] 
+0

입력으로 그들을 연결하여. – Divakar

+0

수정 된 질문 –

+0

2D 모양의 배열을 유지하기 위해 NaN/some-other-invalid-specifier를 사용하려면 여기를 참고하십시오. http://stackoverflow.com/questions/40683601/creating-sliding-windows- of-nan-padded-elements-off-1d-numpy-array – Divakar

답변

1

먼저, 목록으로 배열을 만든다. 배열 배열을 numpy에 넣는 것은 목적이 없습니다.

l = arr.tolist()   #l is a list of arrays 

지금 당신의 요소를 얻기 위해 지능형리스트를 사용하고, 배열처럼 보이지 않는 np.r_

l2 = [np.r_[tuple(l[max(i - n, 0):i])] for i in range(1, len(l)+1)] 
+0

이것은 작동합니다. 감사. –