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

如何将含8×8 NumPy数组的Python列表转为(8,8,1,64)维度数组?

把64个8×8数组转成(8,8,1,64) NumPy数组的方法

嘿,这事儿不难,我给你拆解成几步来做,保证清晰易懂:

首先,先明确你的输入:一个长度为64的Python列表,每个元素都是8×8的NumPy数组。我们的目标是把它转换成维度为(8,8,1,64)的数组。

具体步骤

  1. 导入NumPy库(这一步是基础,别忘啦)

    import numpy as np
    
  2. 将列表转换为初始NumPy数组
    假设你的列表名叫my_list,先把它转成数组:

    initial_arr = np.array(my_list)
    

    这时候initial_arr的维度是(64, 8, 8)——因为列表里有64个元素,每个元素是8×8,所以第一个维度对应列表长度,后面两个是每个数组的尺寸。

  3. 调整维度顺序
    我们需要把(64,8,8)转换成(8,8,64),这一步用transpose来调换轴的顺序:

    rearranged_arr = initial_arr.transpose(1, 2, 0)
    

    这里的(1,2,0)表示把原数组的第1个轴(对应8)移到第0位,第2个轴(对应8)移到第1位,原第0个轴(对应64)移到第2位,这样就得到了(8,8,64)的数组。

  4. 插入新的维度
    最后一步,我们需要在第2个位置(索引从0开始)插入一个长度为1的维度,把(8,8,64)变成(8,8,1,64)。有两种常用方法:

    • 方法一:用np.expand_dims
      final_arr = np.expand_dims(rearranged_arr, axis=2)
      
    • 方法二:用np.newaxis切片(更简洁)
      final_arr = rearranged_arr[..., np.newaxis]
      

一步到位的写法

如果你喜欢简洁,可以把所有步骤合并成一行:

final_arr = np.expand_dims(np.array(my_list).transpose(1,2,0), axis=2)

验证结果

最后别忘了检查一下维度是否正确:

print(final_arr.shape)  # 输出应该是 (8, 8, 1, 64)

这样就完美实现你想要的结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:58:42