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

Python Numpy:如何快速推导transpose逆操作对应的轴序列

numpy转置逆操作轴序列的快速推导方法

推导逻辑非常简单,核心是找两次转置的轴映射关系:

  • 假设第一次转置用的轴序列为axes,这里你的例子里axes = (2,0,1),它的映射规则是:
    • 转置后得到的y的第0轴 → 对应原数组x的第2轴
    • y的第1轴 → 对应x的第0轴
    • y的第2轴 → 对应x的第1轴
  • 逆操作需要的轴序列inv_axes要满足:x的第k轴对应y的第inv_axes[k]轴,我们直接按x的轴顺序匹配对应y的轴位置即可:
    • x的第0轴在y的第1位 → inv_axes[0] = 1
    • x的第1轴在y的第2位 → inv_axes[1] = 2
    • x的第2轴在y的第0位 → inv_axes[2] = 0
      最终得到的inv_axes = (1,2,0),和你用到的正确序列完全一致。

如果不想手动推导,直接用numpy的argsort方法即可一行计算得到逆轴序列:

import numpy as np
# 定义第一次转置的轴序列
axes = (2,0,1)
# 计算逆轴序列
inv_axes = tuple(np.argsort(axes))
print(inv_axes) # 输出 (1, 2, 0)

你可以直接用这个方法验证你的示例:

x = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
y = np.transpose(x, axes=(2,0,1))
# 用逆序列还原x
x_restored = np.transpose(y, inv_axes)
print(np.array_equal(x, x_restored)) # 输出 True,证明还原正确

内容的提问来源于stack exchange,提问作者Sam-gege

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:18:02