2
おそらく簡単な質問ですが、numpyを使用して9x9x9行列を繰り返し生成しています。numpyでn次元配列に行列を追加する
これらをスタックしたいので、Nx9x9x9になりますが、append、stack、stackを使用すると、これらを個々のオブジェクトとして追加するのではなく次元の1つをベクトル化するようです。どのように私はこれを行うことができます任意のアイデア?
おかげ
おそらく簡単な質問ですが、numpyを使用して9x9x9行列を繰り返し生成しています。numpyでn次元配列に行列を追加する
これらをスタックしたいので、Nx9x9x9になりますが、append、stack、stackを使用すると、これらを個々のオブジェクトとして追加するのではなく次元の1つをベクトル化するようです。どのように私はこれを行うことができます任意のアイデア?
おかげ
これはnp.vstack
を使用して解決することができますが、あなたが最初のように別の次元(空1)を追加する必要がしたい形でこれを取得します。そうしないと、あなたはあなたの現在の第1の次元スタックになります。
import numpy as np
a = np.ones((1,2,2,2))
print(a.shape) # (1, 2, 2, 2)
をしたり、あなたの配列を作成した場合、それまでに別の次元を追加します。あなたは使用することができ、それらをスタックする、その後
a = np.ones((2,2,2))
a = a[None, :] # Adds an dimension as first
と:
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
あなたはiterativlyを作成すると言っていますが、最終的な結果が必要な場合は、vstack
を使用する必要はありません。
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)
ありがとうございました:)私は3次元マトリックスに余分な寸法を追加する方法を知らなかった!非常に役に立ちました – JB1
@ i-am-spartacusよろしくお願いします!これが本当にあなたの問題を解決すれば、あなたはアップフォートまたは答えを受け入れるといいでしょう。 :) – MSeifert
私が今日学んだ2番目の事...もう一度ありがとう! – JB1