【发布时间】:2021-12-27 20:38:25
【问题描述】:
假设我有以下形状为 3x3x2 的 numpy 数组:
import numpy as np
X,Y = np.arange(3),np.arange(3)
xy = np.array([[(x, y) for x in X] for y in Y])
上面的数组xy由以下给出:
[[[0 0]
[1 0]
[2 0]]
[[0 1]
[1 1]
[2 1]]
[[0 2]
[1 2]
[2 2]]]
如何将上面的数组重塑为以下数组
xy_reshaped =
[[0 1 2 0 1 2 0 1 2],
[0 0 0 1 1 1 2 2 2]]
我相信我正在尝试将以前的数组行转换为新的数组列。然而,我也失去了一个轴,因为新数组的形状为xy_reshaped.shape = (2,9)(没有像原始数组那样的第三轴)。
np.reshape 只能设置为按行和按列读取元素,两种排序都不适用于上述情况。
是否有简单的解决方案来进行整形?
【问题讨论】:
-
抱歉,您当前的示例有很多重复,因此尚不清楚哪些元素放在哪里,您能否举一个元素独特的示例或更清楚地显示转换应如何映射元素?
标签: python numpy multidimensional-array