将 2D numpy 数组转换为具有第 3 维的 3D numpy 数组
Convert 2D numpy array into 3D numpy array with 3rd dimension
我有一个二维形状的 numpy 数组
a=np.array([[1,2,3,4,5,6],
[7,8,9,10,11,12],
[13,14,15,16,17,18]])
并尝试转换成维度 (3,3,2)
的 3D 形状,即
np.array([[ 1,2,3],
[7,8,9],
[13,14,15]])
在第 3 个维度中,索引为 1 并且
np.array([[4,5,6],
[10,11,12],
[16,17,18]])
在第 3 个维度中,索引为 2。
我试图重塑为 a.reshape(3,3,2)
并得到这个
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]],
[[13, 14, 15],
[16, 17, 18]]])
有什么转换的建议吗?
使用swapaxes
:
a.reshape(3,2,3).swapaxes(0,1)
输出:
array([[[ 1, 2, 3],
[ 7, 8, 9],
[13, 14, 15]],
[[ 4, 5, 6],
[10, 11, 12],
[16, 17, 18]]])
我有一个二维形状的 numpy 数组
a=np.array([[1,2,3,4,5,6],
[7,8,9,10,11,12],
[13,14,15,16,17,18]])
并尝试转换成维度 (3,3,2)
的 3D 形状,即
np.array([[ 1,2,3],
[7,8,9],
[13,14,15]])
在第 3 个维度中,索引为 1 并且
np.array([[4,5,6],
[10,11,12],
[16,17,18]])
在第 3 个维度中,索引为 2。
我试图重塑为 a.reshape(3,3,2)
并得到这个
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]],
[[13, 14, 15],
[16, 17, 18]]])
有什么转换的建议吗?
使用swapaxes
:
a.reshape(3,2,3).swapaxes(0,1)
输出:
array([[[ 1, 2, 3],
[ 7, 8, 9],
[13, 14, 15]],
[[ 4, 5, 6],
[10, 11, 12],
[16, 17, 18]]])