【发布时间】:2018-05-18 10:17:59
【问题描述】:
我尝试搜索此问题,但找不到任何相关内容。
描述问题的最快方法是用一个简单的例子: 假设我有一个像这样的 2D numpy arrayl:
[[0, 1, 2, 3],
[10, 11, 12, 13],
[20, 21, 22, 23]]
所以它的形状是 [3,6] 我想把它重塑成一个看起来像这样的一维数组:
[0, 10 ,20 ,1 ,11 ,21 ,2 ,12 ,22 ,3 ,13 ,23 ]
与我们通过 reshape 得到的数组不同:
[ 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23]
现在,我遇到的实际问题... 我实际上有一个 3D 数组,我想将它重塑为 2D 数组,我想用上面描述的方法这样做。 另一个例子是:
import numpy
a = numpy.array([[[0,1,2],[10,11,12],[20,21,22]],
[[100,101,102],[110,111,112],[120,121,122]],
[[200,201,202],[210,211,212],[220,221,222]]])
a.shape
a.reshape(3,9)
OUTPUT: array([[ 0, 1, 2, 10, 11, 12, 20, 21, 22],
[100, 101, 102, 110, 111, 112, 120, 121, 122],
[200, 201, 202, 210, 211, 212, 220, 221, 222]])
再一次,我希望我的输出看起来像这样:
[[ 0, 10, 20, 1, 11, 21, 2, 12, 22],
[100, 110, 120, 101, 111, ..................],
[...........................................]]
编辑:只是为了谷歌这个问题的人,我添加了一些人可能会搜索的搜索词:
交织维度numpy数组
Zip 尺寸 numpy 数组
Numpy 重塑有序维度
张量重塑维度时间步长
【问题讨论】:
-
当重塑没有以所需方式对元素进行排序时,标准解决方案是在重塑之前或之后使用
transpose或swapaxes。
标签: python python-3.x numpy pytorch