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?
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es sieht aus wie Sie verwenden können,
numpy.transponieren
und dann Umformen, wie soProbe Gefahren -
Zurück zu bekommen original 3D-array, so verwenden Sie
reshape
und dannnumpy.transpose
wie soGerade diese Frage durch Zufall, sah die erste Zeile der Antwort, und vermutete, der Autor;) Danke für den Tipp!
Sie Wandern herum auf der Suche nach alten NumPy Fragen, weil Sie sich zu langweilen? 🙂
Haha, Nein, ich bin nur stalking Sie lernen, ein paar Dinge;)
InformationsquelleAutor Divakar