Цепные наборы данных из нескольких файлов / наборов данных HDF5

Преимущества и упрощенное отображениеh5py обеспечивает (через HDF5) для сохранения наборов данных на диске является исключительным. Я провожу некоторый анализ набора файлов и сохраняю результат в наборе данных, по одному для каждого файла. В конце этого шага у меня есть наборh5py.Dataset объекты, которые содержат 2D-массивы. Все массивы имеют одинаковое количество столбцов, но разное количество строк, то есть (A, N), (B, N), (C, N) и т. Д.

Теперь я хотел бы получить доступ к этим множественным двумерным массивам как к одному массиву двумерных массивов. То есть я хотел бы читать их по требованию в виде массива формы (A + B + C, N).

Для этогоh5py.Link классы не помогают, так как он работает на уровне узлов HDF5.

Вот некоторый псевдокод:

import numpy as np
import h5py
a = h5py.Dataset('a',data=np.random.random((100, 50)))
b = h5py.Dataset('b',data=np.random.random((300, 50)))
c = h5py.Dataset('c',data=np.random.random((253, 50)))

# I want to view these arrays as a single array
combined = magic_array_linker([a,b,c], axis=1)
assert combined.shape == (100+300+253, 50)

Для моих целей предложения по копированию массивов в новый файл не работают. Я также открыт для решения этой проблемы, но я не нахожу подходящих вариантов сnumpy.view или жеnumpy.concatenate это будет работать без копирования данных.

Кто-нибудь знает способ просмотра нескольких массивов в виде сложенного набора массивов, без копирования и изh5py.Dataset?

Ответы на вопрос(1)

Ваш ответ на вопрос