Dies könnte np.vstack
aber bekommen diese in der Form, die Sie eine weitere Dimension hinzufügen müssen verwenden möchten gelöst werden (ein leerer) als erste. Andernfalls würden Sie Sie aktuelle erste Dimension stapeln:
import numpy as np
a = np.ones((1,2,2,2))
print(a.shape) # (1, 2, 2, 2)
oder wenn Sie Ihre Arrays erstellen und dann eine weitere Dimension hinzuzufügen:
a = np.ones((2,2,2))
a = a[None, :] # Adds an dimension as first
und dann zu stapeln Sie nutzen könnten:
b = np.vstack([a,a])
print(b.shape) # (2, 2, 2, 2)
c = np.vstack([b,a])
print(c.shape) # (3, 2, 2, 2)
c.shape
Sie haben gesagt, Sie erstellen sie iterativly, aber wenn Sie nur das Endergebnis am Ende benötigen, müssen Sie nicht einmal vstack
nur ein neues Array erstellen:
a = np.ones((9,9,9))
b = np.ones((9,9,9))
c = np.ones((9,9,9))
d = np.ones((9,9,9))
res = np.array([a, b, c, d])
print(res.shape) # (4, 9, 9, 9)
Vielen Dank :) Ich wusste nicht, wie ich meiner dreidimensionalen Matrix eine zusätzliche Dimension hinzufügen kann! Sehr hilfreich – JB1
@ i-am-spartacus Gern geschehen! Wenn dies Ihr Problem wirklich löst, wäre es nett, wenn Sie die Antwort aufwerten oder akzeptieren würden. :) – MSeifert
Die zweite Sache, die ich heute gelernt habe ... Danke nochmal! – JB1