MagBen hat geschrieben:Code: Alles auswählen
print( Vradial.shape) # Ausgabe (56, 83, 72)
Vradial.shape = (56*83, 72)
#oder
Vradial.shape = (-1, 72)
# -1: Numpy soll die geeignete Zahl finden
print( Vradial.shape) # Ausgabe (4686, 72)
Danke für die schnelle Antwort! so ganz verstehe ich aber leider nicht, auf was du hinaus möchtest. Die Länge der Spalte berechne ich mir zuvor über Size und multipliziere dann die ersten beiden Dimensionen miteinander.
Code: Alles auswählen
print( Vradial.shape)
(56, 83, 72)
Vrad_Snapshotbasis = np.reshape(Vradial, (-1,nt))
print( Vrad_Snapshotbasis.shape)
(4648, 72)
Wenn ich mir dann aber anschaue, ob auch die ursprüngliche zweite Spalte von Vradial in Vrad_snapshotbasis nach den ersten 56 Einträgen beginnt, stelle ich fest, das dem nicht so ist: Ich vergleiche mir beide Arrays und lasse mir in Spyder "Vradial" anzeigen (Axis=2, Slicing [:,:,0]), auch "Vrad-Snapshotbasis":
Die erste Zeile wird zur ersten Spalte, gewissermaßen nach unten um 90 Grad umgeklappt (transponiert?). Das möchte ich aber nicht, weil die zeitliche Dynamik, die in der Reihenfolge der Informationen steckt, damit verloren geht.
Folgendes hässliche Konstrukt habe ich versucht mir zu basteln, ich hoffe die Intention dahinter wird deutlich:
Code: Alles auswählen
# nt ist die Größe/Länge der 3.Dimension des Arrays Vtangential, wurde zuvor über shape abgefragt
#V_SB soll alle Spalten in einer großen Spalte untereinander enthalten, dafür initialisiert
v_SB = np.zeros(Vtangential.shape[0]*Vtangential.shape[1])
for i in range(nt):
Vtang = np.concatenate(Vtangential[:,:,i], axis=0) # Vtang ist ein einzelner Snapshot, in einer Spalte stehe alle Geschw. Komponenten
#V_tangSB = np.append(VtangSB, Vtang, axis=1)
v_SB = np.column_stack((v_SB, Vtang)) # mit jedem Schleifendurchlauf wird eine weitere große Spalte rechts drangepappt
print('Snapshotschleife:',i)
Dims = v_SB.shape
print(Dims)
hat nur den Nachteil dass die erste Spalte noch aus lauter Nullen besteht. Hier enthält aber jede Spalte nur die Geschwindigkeiten spaltenweise.
Nachtrag: Durch die Vertauschung von Zeilen und Spalten geht geht innerhalb eines Zeitschritts zwar nicht die Information verloren, aber die Reihenfolge der Koordinaten (56x83) geht durcheinander.