2016-08-07 10 views
0

Ich habe ein 4D numpy Array von Form (N x 8 x 24 x 98), das ich zu der 5D Form (N x 8 x 24 x 7 x 14) umformen muss, so dass die letzte Dimension in 2 separate Dimensionen aufgeteilt wird.4D numpy zu 5D Array unter Verwendung spezifischen Musters umformen

[[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], ...]

:

Wenn v_i ist der Wert für das Element i in der letzten Dimension der alten Matrix (enthaltend 98 Elemente), dann sollten die Werte wie die folgenden in den 2 neuen Dimensionen der 7 x 14 Form bestellt

Die Leistung ist nicht wichtig, daher könnte die Lösung bei Bedarf eine For-Schleife verwenden.

Antwort

2

IIUC können Sie einfach Ihre Array/Matrix neu zu gestalten:

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) 
Verwandte Themen