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

如何重塑numpy数组实现行转列,将3x3x2数组转换为2x9指定形状

你可以通过维度重排+重塑的组合操作实现需求,代码非常简洁:

xy_reshaped = xy.transpose(2, 0, 1).reshape(2, -1)

操作说明

原数组xy的维度顺序为(y轴分组, x轴序列, 值类型[x/y]),我们只需要先调整维度顺序,再展平即可:

  • transpose(2, 0, 1):将存储x/y值的第三维(索引为2)调整到第一维,其余两个维度保持原有顺序,调整后数组shape从(3,3,2)变为(2,3,3)
  • reshape(2, -1):将后两个维度的3*3=9个元素直接展平,参数-1会自动计算对应维度的大小,无需手动指定长度。

完整测试代码

import numpy as np
X,Y = np.arange(3),np.arange(3)
xy = np.array([[(x, y) for x in X] for y in Y])
xy_reshaped = xy.transpose(2, 0, 1).reshape(2, -1)
print(xy_reshaped)

运行后输出结果与你需要的格式完全一致:

[[0 1 2 0 1 2 0 1 2]
 [0 0 0 1 1 1 2 2 2]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:27:00