如何将 NumPy 多维数组重塑为另一个维度相同但形状不同的数组?
How do I reshape a NumPy multi dimensional array to another array with the same dimensions, but different shape?
我有一个形状为 (1,76,76,255) 的 NumPy 多维数组。我想将它重塑为另一个多维形状数组 (1,255,76,76)。还是一个4维数组,不过估计要改数据索引了
有没有不使用循环的简单方法?
您正在寻找的函数是 np.moveaxis()
,它可以让您将源轴移动到它的目的地。
>>> arr = np.random.random((1,76,76,255))
>>>
>>> arr.shape
(1, 76, 76, 255)
>>> arr2 = np.moveaxis(arr, 3, 1)
>>> arr2.shape
(1, 255, 76, 76)
>>>
请注意这些轴是从 0 开始索引的
我有一个形状为 (1,76,76,255) 的 NumPy 多维数组。我想将它重塑为另一个多维形状数组 (1,255,76,76)。还是一个4维数组,不过估计要改数据索引了
有没有不使用循环的简单方法?
您正在寻找的函数是 np.moveaxis()
,它可以让您将源轴移动到它的目的地。
>>> arr = np.random.random((1,76,76,255))
>>>
>>> arr.shape
(1, 76, 76, 255)
>>> arr2 = np.moveaxis(arr, 3, 1)
>>> arr2.shape
(1, 255, 76, 76)
>>>
请注意这些轴是从 0 开始索引的