给定一个3D数组a,我想对其第一个索引中的每个元素调用np.tranpose。例如,给定数组:array([[[1,1,1,1],[1,1,1,1],[1,1,1,1]],[[2,2,2,2],[2,2,2,2],[2,2,2,2]],[[3,3,3,3],[3,3,3,3],[3,3,3,3]])我要:array([[[1,1,1],[1,1,1],[1,1,1],[1,1,1]],[[2,2,2],[2,2,2],[2,2,2],[2,2,2]],[[3,3,3],[3,3,3],[3,3,3],[3,3,3]]])本质上,我想转置数组中的每个元素。我试图reshape它,但找不到
有没有办法将2D数组划分并reshape为3D数组。像下面的例子:基本上,我的左边有一个4x4矩阵,我想要一个如图所示的2x2x4矩阵,这样我就可以在第3个轴上应用numpy.mean。实际上,我拥有的矩阵非常庞大,所以这就是为什么循环遍历block不是一种选择。非常感谢任何帮助。 最佳答案 对于您的示例,您可以使用numpy.lib.stride_tricks.as_strided.In[1]:A=np.arange(16).reshape(4,4)In[2]:AOut[2]:array([[0,1,2,3],[4,5,6,7],