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

如何将2D numpy数组沿z轴扩展为形状为(4,4,3)的3D数组

2D numpy数组沿z轴重复生成(4,4,3)形状3D数组的实现方法

核心思路:先给原2D数组在最后一维新增一个长度为1的轴,再沿该轴重复3次即可得到目标形状的数组。


方法1:使用np.repeat(逻辑更直观,推荐)

import numpy as np

# 构造示例2D数组
arr = np.array([
    [0, 2, 6, 3],
    [3, 7, 3, 9],
    [0, 8, 3, 4],
    [4, 6, 2, 1]
])

# 新增最后一维后沿z轴(axis=2)重复3次
arr_3d = np.repeat(arr[..., np.newaxis], 3, axis=2)

print(arr_3d.shape) # 输出验证形状:(4, 4, 3)
print(arr_3d)

arr[..., np.newaxis]的作用是将原(4,4)形状的2D数组升维为(4,4,1)的3D数组,再通过np.repeat指定沿第三个维度重复3次,完全匹配你需要的数值复制逻辑。


方法2:使用np.tile(调整参数即可实现)

你之前用np.tile未得到预期结果,大概率是没有先给原数组新增最后一维,正确写法如下:

arr_3d = np.tile(arr[..., np.newaxis], (1, 1, 3))

参数(1,1,3)表示前两个维度不做重复,仅第三个维度重复3次,输出结果和方法1完全一致。


内容的提问来源于stack exchange,提问作者Link An Jarad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:15:03