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

如何将数组存入Numpy数组的指定位置并解决赋值报错

报错原因

你创建的b是形状为(2,2)的数值类型numpy数组,每个位置只能存储单个标量值,而你尝试将形状为(2,2)的二维数组a赋值给b[0,0]这单个元素位置,维度不匹配因此触发报错。


解决方案

方案1:将a作为单个元素存入b的指定位置

如果你确实需要把整个数组a当成一个元素存进b的对应位置,需要将b声明为object类型,允许存储非数值类型的元素:

import numpy as np
# 声明b为object类型数组
b = np.zeros([2, 2], dtype=object)
a = np.array([[0, 1], [1, 2]])
b[0, 0] = a
print(b)

运行输出:

[[array([[0, 1],
       [1, 2]]) 0]
 [0 0]]

方案2:将a的数值填充到b的对应区域

如果你的需求是把a里的所有数值对应写入b的指定块区域(比如把2x2的a写到b的左上角区域),需要对b做对应大小的切片赋值,这种场景下如果要容纳a的内容,需要把b的尺寸设置的比a大:

import numpy as np
# 把b设置为4x4的数组,足够放下2x2的a
b = np.zeros([4, 4])
a = np.array([[0, 1], [1, 2]])
# 取b的0~2行、0~2列的切片,对应形状为2x2,和a匹配
b[0:2, 0:2] = a
print(b)

运行输出:

[[0. 1. 0. 0.]
 [1. 2. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:45:03