私はnumpyで3D行列を扱っています。私は実際にいくつかの計算を実行し、結果を戻すためにctypesを使ってこれらの行列をCに渡しています。今のところは、私の結果は正しいです(私は検証するために紙で数学を行いました)が、私はそれが欲しい形ではありません。3D numpy配列を特定の方法で並べ替える
例を示します。
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
私はすべての2D部分行列のi番目の列はように、新しい2Dサブマトリクスを形成する形に変換する必要があります:
array([[[ 0, 9, 18],
[ 3, 12, 21],
[ 6, 15, 24]],
[[ 1, 10, 19],
[ 4, 13, 22],
[ 7, 16, 25]],
[[2, 11, 20],
[5, 14, 23],
[8, 17, 26]]])
Iは、フォームの3次元アレイを有します
np.rot90
、np.flipud
、np.fliplr
のさまざまな組み合わせを使用しようとしましたが、すべて利用できません。これに関する助けがあれば大いに感謝します。
ありがとうございます!
'[6、13、24]'所望の出力には、右を見ていません。私はそれが間違いだと思っています。 – user2357112
申し訳ありません。修正されました。 –