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

Python中如何调整三维数组的维度顺序?

调整三维数组维度顺序的简便实现方式

当然有,不同数据处理框架里都提供了直接的内置方法,不用自己写复杂循环。下面是几种常用场景的实现方式:

  • NumPy 场景
    直接调用transpose()方法,通过指定维度的新顺序完成转换。原数组的维度索引对应:i=0、j=1、t=2,要得到t,i,j的顺序,只需传入原维度索引的对应顺序(2, 0, 1):

    import numpy as np
    # 假设g是numpy.ndarray类型的三维数组
    g_reshaped = g.transpose(2, 0, 1)
    
  • PyTorch 场景
    使用permute()方法,逻辑和NumPy的transpose完全一致,直接指定目标维度对应的原索引即可:

    import torch
    # 假设g是torch.Tensor类型的三维张量
    g_reshaped = g.permute(2, 0, 1)
    
  • TensorFlow 场景
    借助tf.transpose()函数,通过perm参数传入维度顺序列表:

    import tensorflow as tf
    # 假设g是tf.Tensor类型的三维张量
    g_reshaped = tf.transpose(g, perm=[2, 0, 1])
    
  • 原生Python列表(不推荐)
    如果是纯Python嵌套列表,只能通过嵌套循环手动转换,但这种方式效率极低,数据量大时强烈建议转成上述数组/张量类型处理:

    # 假设g是[[[...]]]结构的三维列表
    g_reshaped = [[[g[i][j][t] for i in range(len(g))] for j in range(len(g[0]))] for t in range(len(g[0][0]))]
    

内容的提问来源于stack exchange,提问作者statwoman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 08:12:14