2016-08-07 3 views
0

4D numpy 어레이 모양 (N x 8 x 24 x 98)을 사용하여 5D 모양 (N x 8 x 24 x 7 x 14)으로 바꿔야 최종 치수가 2 개의 개별 치수로 분할됩니다.특정 패턴을 사용하여 4D numpy를 5D 배열로 재구성

[[v_0, v_1, v_2, v_3, v_4, v_5, v_6], [v_7, v_8, v_9, v_10, v_11, v_12, v_13], ...]

: v_i가 (98 개 요소를 포함) 이전 행렬의 마지막 차원 요소 i 값이면

, 그 값은 형상 7 x 14의 2 개 개의 새로운 차원은 다음과 같이 지시해야

성능은 중요하지 않으므로 필요에 따라 솔루션에서 잠재적으로 for 루프를 사용할 수 있습니다.

답변

2

당신은 단순히 배열/매트릭스 바꿀 수 IIUC :

In [109]: a = np.arange(8*24*98).reshape(8,24,98) 

In [110]: a.shape 
Out[110]: (8, 24, 98) 

In [111]: x = a.reshape(8,24,7,14) 

In [112]: x.shape 
Out[112]: (8, 24, 7, 14) 
관련 문제