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

如何对3维numpy数组执行reshape操作以得到目标2维矩阵

Numpy 三维数组重塑解决方案

实现代码

import numpy as np

# 定义原始数组
a = np.array([[[1., 2., 3., 4.],
        [1., 2., 3., 4.],
        [1., 2., 3., 4.]],

       [[5., 6., 7., 8.],
        [5., 6., 7., 8.],
        [5., 6., 7., 8.]]])

# 核心操作:调整维度顺序后重塑
result = a.transpose(2, 1, 0).reshape(-1, 2)

# 如果需要输出整数格式,可以加上类型转换
# result = result.astype(int)

输出结果与需求完全一致:

[[1. 5.]
 [1. 5.]
 [1. 5.]
 [2. 6.]
 [2. 6.]
 [2. 6.]
 [3. 7.]
 [3. 7.]
 [3. 7.]
 [4. 8.]
 [4. 8.]
 [4. 8.]]

实现逻辑

  • 原始数组shape为(2, 3, 4),三个维度分别对应:块数量(共2个数据块)、单块行数(每个块3行)、单块列数(每个块4列)
  • transpose(2, 1, 0)调整维度顺序为「单块列数→单块行数→块数量」,调整后shape变为(4, 3, 2),维度顺序完全匹配目标数组的元素排列规则
  • reshape(-1, 2)自动计算总行数,将前两个维度展平后保留最后2列,即可得到目标结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:36:03