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

寻求实现特定嵌套结构的NumPy数组堆叠解决方案

解决NumPy数组的特定堆叠需求

你的需求是将两个形状分别为(5,1)和(5,2)的数组,按对应行组合成包含两个子数组的嵌套结构。由于常规NumPy数组要求所有元素形状统一,直接用hstack或dstack无法实现,这里需要创建object类型的数组来存放不同形状的子数组,具体实现如下:

代码实现

import numpy as np

# 初始化原数组
a1 = np.array([[0], [1], [2], [3], [4]])
b2 = np.array([[100, 101], [102, 103], [104, 105], [106, 107], [108, 109]])

# 创建形状为(5,2)的object类型数组
result = np.empty((a1.shape[0], 2), dtype=object)
# 为数组的两列分别赋值
result[:, 0] = a1
result[:, 1] = b2

print(result)

输出结果

array([[array([0]), array([100, 101])],
       [array([1]), array([102, 103])],
       [array([2]), array([104, 105])],
       [array([3]), array([106, 107])],
       [array([4]), array([108, 109])]], dtype=object)

补充说明

  • hstack会在横向(axis=1)直接拼接数组,将a1和b2合并为(5,3)的一维行数组,不符合嵌套需求;
  • dstack要求参与堆叠的数组在除最后一个维度外的所有维度形状一致,a1的形状是(5,1),b2是(5,2),第二个维度不匹配,因此无法使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 09:25:41