以特殊顺序排列的 Ravel() 3D 数组 - Python
Ravel() 3D array in a peculiar order - Python
假设我有以下数组:
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]]])
并且我在上面使用标准 ravel()
。这就是我得到的:
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])
相反,我需要以不同的顺序来理解,即:
0 9 18 1 10 19 2 11 20 3 12 21 4 13 22 5 14 23 6 15 24 7 16 25 8 17 26
不幸的是,即使是 ravel 中的 order
参数也无济于事,生成:
a.ravel(order='F')
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])
这是 Fortran 命令,这是我找到的最接近我需要的东西,但仍然不是我想要的。
有人知道如何按我需要的顺序获取值吗?
>>> a.transpose(1, 2, 0).ravel()
array([ 0, 9, 18, 1, 10, 19, 2, 11, 20, 3, 12, 21, 4, 13, 22, 5, 14,
23, 6, 15, 24, 7, 16, 25, 8, 17, 26])
假设我有以下数组:
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]]])
并且我在上面使用标准 ravel()
。这就是我得到的:
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])
相反,我需要以不同的顺序来理解,即:
0 9 18 1 10 19 2 11 20 3 12 21 4 13 22 5 14 23 6 15 24 7 16 25 8 17 26
不幸的是,即使是 ravel 中的 order
参数也无济于事,生成:
a.ravel(order='F')
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])
这是 Fortran 命令,这是我找到的最接近我需要的东西,但仍然不是我想要的。 有人知道如何按我需要的顺序获取值吗?
>>> a.transpose(1, 2, 0).ravel()
array([ 0, 9, 18, 1, 10, 19, 2, 11, 20, 3, 12, 21, 4, 13, 22, 5, 14,
23, 6, 15, 24, 7, 16, 25, 8, 17, 26])