如何使用一组元素初始化特定的numpy数组元素值?

时间:2018-09-04 12:31:29

标签: arrays python-3.x numpy multidimensional-array

我有一个代码,我想在其中创建一个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]]

2 个答案:

答案 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