在for循环中连接numpy数组

我在 for 循环中的每次迭代中创建一个大小为 numpy 的数组20x30x30x3。我想将所有这些 numpy 数组连接成一个更大的数组。如果迭代步骤是 100,那么我想要的 numpy 数组应该是2000x30x30x3. 我尝试使用列表:


new_one_arr1_list = []

new_one_arr2_list = []

all_arr1 = np.array([])

for item in one_arr1: # 100 iterations

    item = np.reshape(item, (1, 30, 30, 3))

    new_one_arr1 = np.repeat(item, 20, axis=0)


    all_arr1 = np.concatenate(([all_arr1 , new_one_arr1 ]))

    ind = np.random.randint(one_arr2.shape[0], size=(20,))

    new_one_arr2= one_arr1[ind]


    new_one_arr1_list.append(new_one_arr1)

    new_one_arr2_list.append(new_one_arr2)

在每个迭代步骤中new_one_arr1,new_one_arr2它们都有 size 20x30x30x3。最后,当我转换时new_one_arr1_list,new_one_arr2_list它的大小是100x20x30x30x3. 我怎么能在一个 numpy 数组中最后有 2000x30x30x3?


编辑:我尝试使用 concatenate 在一个 numpy 数组中添加数组all_arr1:all_arr1= np.concatenate(([all_arr1, new_one_arr1]))但是,我收到了消息:


ValueError:所有输入数组必须具有相同的维数


开满天机
浏览 397回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python