Python Umformen 3d-array in 2d

Ich umgestalten möchten die numpy-array, wie es dargestellt ist, von 3D zu 2D. Leider ist die Reihenfolge nicht korrekt ist.

Einem ausgehen, einen numpy-array (1024, 64, 100) und konvertieren wollen (1024*100, 64).

Jemand eine Idee hat, wie zur Aufrechterhaltung der Ordnung?

Python Umformen 3d-array in 2d

Habe ich eine Beispiel-Daten

data[0,0,0]=1
data[0,1,0]=2
data[0,2,0]=3
data[0,3,0]=4
data[1,0,0]=5
data[1,1,0]=6
data[1,2,0]=7
data[1,3,0]=8
data[2,0,0]=9
data[2,1,0]=10
data[2,2,0]=11
data[2,3,0]=12
data[0,0,1]=20
data[0,1,1]=21
data[0,2,1]=22
data[0,3,1]=23
data[1,0,1]=24
data[1,1,1]=25
data[1,2,1]=26
data[1,3,1]=27
data[2,0,1]=28
data[2,1,1]=29
data[2,2,1]=30
data[2,3,1]=31

und ich hätte gern ein Ergebnis wie dieses:

array([[  1.,   2.,   3.,   4.],
       [  5.,   6.,   7.,   8.],
       [  9.,  10.,  11.,  12.],
       [ 20.,  21.,  22.,  23.],
       [ 24.,  25.,  26.,  27.],
       [ 28.,  29.,  30.,  31.]])

Darüber hinaus würde ich auch gerne die Umformung in die andere Richtung, d.h. von:

array([[  1.,   2.,   3.,   4.],
       [  5.,   6.,   7.,   8.],
       [  9.,  10.,  11.,  12.],
       [ 20.,  21.,  22.,  23.],
       [ 24.,  25.,  26.,  27.],
       [ 28.,  29.,  30.,  31.]])

um die gewünschte Ausgabe:

 [[[  1.  20.]
  [  2.  21.]
  [  3.  22.]
  [  4.  23.]]

 [[  5.  24.]
  [  6.  25.]
  [  7.  26.]
  [  8.  27.]]

 [[  9.  28.]
  [ 10.  29.]
  [ 11.  30.]
  [ 12.  31.]]]

InformationsquelleAutor pallago | 2015-10-19

Schreibe einen Kommentar