如何在for循环中添加一个数组,每个循环获得新的输出?



我试图创建一个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]))

最新更新