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

如何使用np.full()创建沿指定维度填充值的三维数组?

正确使用np.full创建指定三维数组的方法

方法1:调整填充值形状适配广播规则

让填充值的形状与目标数组形状(2,3,1)兼容广播即可,只需将填充值调整为(2,1,1)的嵌套结构:

import numpy as np

result = np.full((2, 3, 1), [[[1]], [[2]]])
print(result)

运行后会输出你期望的结果:

[[[1]
  [1]
  [1]]

 [[2]
  [2]
  [2]]]

方法2:通过数组扩展维度实现

如果不想手动写多层嵌套列表,也可以先创建二维数组,再扩展最后一维来满足广播要求:

import numpy as np

fill_val = np.array([[1], [2]])[:, :, np.newaxis]  # 将形状从(2,1)转为(2,1,1)
result = np.full((2, 3, 1), fill_val)

错误原因说明

你之前的代码报错,是因为填充值形状(2,1)在广播时会被自动补前导维度,变为(1,2,1),与目标形状(2,3,1)的第二维度(2 vs 3)不兼容——广播规则要求对应维度要么相等,要么其中一个为1。调整为(2,1,1)后,第二维度为1,可以扩展到目标的3,所有维度都满足广播条件,就能正常生成数组了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:50:44