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

如何将元素为(2,)数组、形状为(3,2)的numpy数组转为(3,2,2)形状

解决方法

你可以通过以下两种常用方案实现转换,两种方案均可以输出形状为(3,2,2)的标准numpy数组:

方案1:最简方案(推荐)

先将object数组转为嵌套列表,再重新构造numpy数组即可,numpy会自动对齐匹配的子数组维度:

# 转换代码
res = np.array(a.tolist())

# 验证
print(res.shape) # 输出 (3, 2, 2)

方案2:兼容通用方案

如果遇到numpy版本差异导致方案1失效的情况,可以用np.stack手动堆叠后调整形状,适用于所有子数组形状统一的场景:

# 转换代码
res = np.stack(a.flatten(), axis=0).reshape(a.shape + (-1,))

# 验证
print(res.shape) # 输出 (3, 2, 2)

注意:以上方案仅适用于所有object类型单元格内的子数组形状完全一致的场景,与你的问题场景完全匹配。

输出结果验证

两种方案最终得到的数组内容如下:

array([[[4, 4],
        [4, 5]],

       [[5, 5],
        [5, 6]],

       [[6, 6],
        [6, 7]]])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:15:04