如何将元素添加到numpy nd数组?

时间:2018-11-04 12:31:08

标签: python arrays numpy tensorflow scikit-learn

我想将形状为(60,4)的矩阵添加到形状为(1000,60,4)的空numpy数组中 但是,当我使用以下代码时,它将失败

np.append(arr=array,values=i)

在上面的代码中,对象 i 的形状为(60,4), 失败是指它向数组添加了一个充满零的矩阵,这是意外的。我做错什么了吗 如何将矩阵添加到数组中,使最终输出保持为(1000,60,4)?

注意 不要重复这个问题。与these之类的问题不同 我没有一个一维数组,但更复杂的nd数组。 感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您可以将60,4分配给1000个职位中的任何一个。

big_array[pos] = little_array

示例:

import numpy as np

a = np.zeros((3,6,4))
b = np.ones((6,4))

a[1] = b

产量:

           a[1]=  
           [[1., 1., 1., 1.],
           [1., 1., 1., 1.],
           [1., 1., 1., 1.],
           [1., 1., 1., 1.],
           [1., 1., 1., 1.],
           [1., 1., 1., 1.]]

答案 1 :(得分:0)

如果您要分配一个值给数组的一个元素,则必须使用分配操作而不是串联,你做了:

import numpy as np
np.append(arr=array,values=i)

将产生形状为( 240240,

的列表

分配到数组的元素之一:

   arr[0] = i

将生成形状为( 1000,60,4

的列表