と呼ばれます。 と同じ構成で、array
のリストにまとめられて、3x2x2を生成します。
In [344]: red = np.array([[150,25],[37,214]])
In [345]: green = np.array([[190,27],[123,231]])
In [346]: blue = np.array([[10,112],[123,119]])
In [347]: np.array([red,green,blue])
Out[347]:
array([[[150, 25],
[ 37, 214]],
[[190, 27],
[123, 231]],
[[ 10, 112],
[123, 119]]])
In [348]: _.shape
Out[348]: (3, 2, 2)
これは、あなたが望む秩序ではありませんが、私たちは容易に変形し、必要に応じて転置することができます。
ターゲット、[]
In [350]: np.array([[(150,190,10),(25,27,112)],[(37,123,123),(214,231,119)]])
Out[350]:
array([[[150, 190, 10],
[ 25, 27, 112]],
[[ 37, 123, 123],
[214, 231, 119]]])
In [351]: _.shape
Out[351]: (2, 2, 3)
の追加セットとそうtranspose
で末端に3
形状を移動してみ:
In [352]: np.array([red,green,blue]).transpose(1,2,0)
Out[352]:
array([[[150, 190, 10],
[ 25, 27, 112]],
[[ 37, 123, 123],
[214, 231, 119]]])
========== =================
私はstack
を提案していたはずです。この新しいバージョンのconcatenate
では、異なる次元の配列に結合することができます。 axis=0
の場合、np.array
のように動作します。この式は、彼らが同じであることを除いて、など、red
の形状については何も想定していないことを
In [467]: np.stack((red,green,blue),axis=-1)
Out[467]:
array([[[150, 190, 10],
[ 25, 27, 112]],
[[ 37, 123, 123],
[214, 231, 119]]])
In [468]: _.shape
Out[468]: (2, 2, 3)
注:しかしrgb
次元の最後の使用を入れて、最後に参加します。したがって、3D配列でも動作します。
ありがとうhpaulj、それはいいようです。赤、緑、青の配列が3次元である場合、つまり2x2x2で始まる場合は、どのような配列を組み合わせるのですか? – kabammi
3d配列でもうまくいくはずのnp.stackという例を追加しました。 – hpaulj
輝かしいhpaulj、あなたは伝説です! – kabammi