You need to enable JavaScript to run this app. 如何在numpy中为多维数组新增行列 使形状从(2,2,2,3)变为(2,3,3,4)
优惠活动
大模型
产品
解决方案
定价
更多

如何在numpy中为多维数组新增行列 使形状从(2,2,2,3)变为(2,3,3,4)

Numpy四维数组形状调整方案

注意:为避免变量名冲突,我们将你初始化的原始数组重命名为base_arr,防止和填充值a重名。

完整实现代码

import numpy as np

# 1. 初始化原始数组和填充值列表Y,示例中Y取[5,7],可替换为你实际的a、b数值
base_arr = np.zeros((2,2,2,3), int)
Y = [5, 7] 

# 2. 扩展最后一维:从3维调整为4维,最后一位填充对应Y值
# 将Y扩维到可广播形状,生成待拼接的最后一列数组,形状为(2,2,2,1)
last_dim_pad = np.full((2,2,2,1), fill_value=np.array(Y).reshape(-1,1,1,1))
# 拼接后数组形状变为 (2,2,2,4)
arr = np.concatenate([base_arr, last_dim_pad], axis=-1)

# 3. 扩展第三个维度(索引为2):从2调整为3,末尾新增一行全为对应Y值
third_dim_pad = np.full((2,2,1,4), fill_value=np.array(Y).reshape(-1,1,1,1))
# 拼接后数组形状变为 (2,2,3,4)
arr = np.concatenate([arr, third_dim_pad], axis=2)

# 4. 扩展第二个维度(索引为1):从2调整为3,末尾新增一块全为对应Y值
second_dim_pad = np.full((2,1,3,4), fill_value=np.array(Y).reshape(-1,1,1,1))
# 拼接后得到最终形状为(2,3,3,4)的数组
arr = np.concatenate([arr, second_dim_pad], axis=1)

运行上述代码后输出的arr和你给出的预期效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:18:01