是否可以使用np数组作为h5py数据集中的索引?

问题描述 投票:0回答:1

我需要将多个数据集合并到另一个属于最终文件的数据集中,每个数据集都包含在一个单独的文件中。当在最终的数据集中复制时,部分数据集中的数据顺序不会被保留 - 部分数据集中的数据通过索引“映射”到最终数据集中。我创建了两个列表,final_indices和partial_indices,并写道:

final_dataset   = final_hdf5file['dataset']
partial_dataset = partial_hdf5file['dataset']

# here partial ad final_indices are lists.
final_dataset[final_indices] = partial_dataset[partial_indices] 

这个问题是性能非常糟糕 - 原因是final_和partial_indices都是列表。我的解决方法是从最终和部分数据集创建两个np数组,并使用np数组作为索引。

final_array   = np.array(final_dataset)
partial_array = np.array(partial_dataset)
# here partial ad final_indices are nd arrays.
final_array[final_indices] = partial_array[partial_indices] 

然后将最终数组重新写入最终数据集。

final_dataset[...] = final_array

然而,在我看来这样做并不优雅。

是否可以在h5py数据集中使用np.arrays作为索引?

numpy h5py
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.