我有一个代码,我想在其中创建一个numpy多维数组,每个元素都是行向量的3个元素的另一个数组,这是它的外观:
a1=np.ndarray([4,4])
for i in range(4):
for j in range(4):
a1[i,j]=[2,2,2]
现在,当我尝试这样做时,出现错误: ValueError:设置具有序列的数组元素。
请告诉我我哪里做错了。 基本上,我的目标是创建一个像这样的numpy ndarray(而不是asarray或array): 这只是我想做的一个粗略示例。
[[1,1,1],[2,2,2],[3,3,3]
[4,4,4],[5,5,5],[6,6,6]
[1,2,3],[4,5,6],[1,2,4]]
答案 0 :(得分:0)
每个i, j
位置处的3元素向量构成第三维。因此,数组的形状应为[4, 4, 3]
-第三维包含3个元素。
a1 = np.ndarray([4, 4, 3])
...
答案 1 :(得分:0)
您的最终数组将具有(4,4,3)形状。所以你必须预定这个房间:
a1=np.empty((4,4,3),dtype=int)
# or np.ndarray((4,4,3),int)
for i in range(4):
for j in range(4):
a1[i,j]=[i,j,i+j] # for exemple