別々のファイルに含まれるいくつかのデータセットを最終ファイルに属する別のデータセットにマージする必要があります。 部分データセット内のデータの順序は、最終データセットにコピーされるときには保持されません。部分データセット内のデータは、インデックスを介して最後のデータセットに「マップ」されます。私は2つのリスト、final_indicesとpartial_indicesを作成し、書いた:hppyデータセットのインデックスとしてnp配列を使用することは可能ですか?
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の両方がリストでなければならないということです。 私の回避策は、最終的なデータセットと部分的なデータセットから2つの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
しかし、そうするのはむしろやや優しいようです。
hppyデータセットのインデックスとしてnp.arraysを使用できますか?
あなたの答えとリンクに感謝します。私の経験は確かに派手なインデックス作成は遅いです。あなたのソリューションはまだ試していませんでしたが、同じ原則を適用しながら私よりもコンパクトに見えます。 –