将 numpy 数组列表转换为 5D numpy 数组

我有一个包含 7000 个对象 (list_of_objects) 的数据库,这些文件中的每一个都包含一个大小为10x5x50x50x3. 我想创建一个 5d numpy 数组,其中包含7000*10x5x50x50x3. 我尝试使用两个 for 循环来做到这一点。我的示例代码:


fnl_lst = []

for object in list_of_objects:

     my_array = read_array(object) # size 10x5x50x50x3

     for ind in my_array:

        fnl_lst.append(ind)

fnl_lst= np.asarray( fnl_lst) # print(fnl_lst) -> (70000,)

该代码最终生成一个嵌套的 numpy 数组,该数组包含 70000 个数组,每个数组的大小为5x50x50x3. 但是,我想用 size 构建一个 5d 数组70000x5x50x50x3。我该怎么做呢?


弑天下
浏览 161回答 1
1回答

慕娘9325324

fnl_lst = np.stack([ind for ind in read_array(obj) for obj in list_of_objects])或者,只需附加到现有代码:fnl_lst = np.stack(fnl_lst)UPD:根据 hpaulj 的评论,如果my_array确实是 10x5x50x50x3,这可能就足够了:fnl_lst = np.stack([read_array(obj) for obj in list_of_objects])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python