如何在每个循环获取新输出的 for 循环中附加一个数组?

How to append an array within a for loop that gets new outputs every loop?

我正在尝试创建一个 for 循环,它附加一个从只能转换为数组的函数生成的数组。以下是代码:

array2 = np.array([])
for i in range(len(fps)):
    array1 = np.array([])
    DataStructs.ConvertToNumpyArray((fps[i]), array1)
    np.append(array1,array2)
    
array2

fps 是一个包含 634 个元素的列表,其中每个元素的长度为 1024。DataStructs.ConvertToNumpyArray 函数一次只能计算一个条目并将输出存储在数组中(上面代码中的 array1 ). 以下是一个条目的输出(有非零元素但在其中):

array([0., 0., 0., ..., 0., 0., 0.])

如何使用 for 循环将所有 634 个元素存储在一个数组中?

array2 = np.array([])
for i in range(len(fps)):
    array1 = np.array([])
    DataStructs.ConvertToNumpyArray((fps[i]), array1)

    # you need to assign the concatenated array to array2
    array2 = np.append(array2,array1)
    
array2



# if you want to have a 2D-array as output, you can do the following:

# initialize the array then assign new elements to it
array2 = np.zeros(shape=(len(fps),1024))
for i in range(len(fps)):
    array1 = np.array([])
    DataStructs.ConvertToNumpyArray((fps[i]), array1)
    array2[i] = array1
    
array2

# or you can use np.concatenate
array2 = np.zeros(shape=(0,1024))
for i in range(len(fps)):
    array1 = np.array([])
    DataStructs.ConvertToNumpyArray((fps[i]), array1)
    array2 = np.concatenate((array2,[array1]))