使用^{},然后使用^{},如下-X.transpose(1,2,0).reshape(-1,X.shape[0])
解释-
1)您想要得到由X[:, 0, 0]、X[:, 0, 1]等组成的行,也就是说,我们必须将axis=0元素“推”到这种2D数组输出的最后一个轴上。下一步,我们必须决定行的顺序,它将由axes=1,2组成。现在,回到所需的2D数组输出,在第一行和第二行之间,即X[:, 0, 0]和{}之间,axis=1保持不变。因此,在2D数组输出中,第二个轴(axis=1)优先于第三个轴(axis=2)。因此,在X中,我们将axis=1推到axis=0,并将{}推到{}。因为,如前所述,X中的axis=0必须移动到最后一个轴,所以这就是axis=2。所有这些都可以通过X.transpose(1,2,0)完成。我们称之为Y。在
2)最后,我们必须将Y重塑为2D数组,使每行中的元素数与X.shape[0]相同,这是通过Y.reshape(-1,X.shape[0])实现的。因此,最终解决方案变成-X.transpose(1,2,0).reshape(-1,X.shape[0])
样本运行-In [25]: X
Out[25]:
array([[[ 0.19508052, 0.02481975],
[ 0.88915956, 0.95974095]],
[[ 0.23271151, 0.14730822],
[ 0.56763563, 0.30607283]],
[[ 0.33259228, 0.42552102],
[ 0.28