You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整(N,4,4)形状三维NumPy数组的轴顺序得到指定转置结果

三维数组轴顺序调整解决方案

你当前需要实现的是保留样本维度不变,对每个样本对应的二维矩阵做转置操作,具体实现如下:

实现原理

形状为(N,4,4)的数组三个轴编号从左到右依次为:

  • 轴0:样本维度,长度为N
  • 轴1:单样本二维矩阵的行维度,长度为4
  • 轴2:单样本二维矩阵的列维度,长度为4
    目标效果仅需要交换轴1和轴2的顺序,保持轴0不变即可。

实现方法

方法1:使用np.swapaxes

直接指定交换1、2两个轴即可,代码如下:

import numpy as np
# arr为原始(N,4,4)形状的数组
res = np.swapaxes(arr, 1, 2)

方法2:使用np.transpose

手动指定所有轴的新顺序为(0,2,1),代码如下:

import numpy as np
# arr为原始(N,4,4)形状的数组
res = np.transpose(arr, (0, 2, 1))

效果验证

你可以用以下代码验证转换结果是否符合预期:

# 构造测试用的三维数组
arr = np.array([
    [[1.35, 10.30, 2.25, 17.21],
     [1.29, 9.06,  2.21, 15.47],
     [1.37, 9.74,  2.04, 14.44],
     [0,    0,     0,    0]]
])
# 执行转换
res = np.swapaxes(arr, 1, 2)
# 输出转换后的第一个样本
print(res[0])

输出结果为:

[[ 1.35  1.29  1.37  0.  ]
 [10.3   9.06  9.74  0.  ]
 [ 2.25  2.21  2.04  0.  ]
 [17.21 15.47 14.44  0.  ]]

和你给出的目标结果完全一致。

内容的提问来源于stack exchange,提问作者E. hendrix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:45:02