Python H5py:保存numpy.ndarray列表的快速方法?

Python H5py:保存numpy.ndarray列表的快速方法?,python,numpy,h5py,Python,Numpy,H5py,如何使用h5py有效地保存和读取numpy.ndarray列表?例如,我想保存/读取: Y = np.arange(3**3).reshape(3,3,3) X = [[Y,Y],[Y,Y,Y],[Y]] 我正在寻找最有效的(无双循环等)解决方案。我将假设Y是相同的类型,例如int32或string。通常,处理此问题的最有效方法是将Y作为单个向量(展平)发射,其长度为: totalLen = sum(map(len, X)) offsets = cumsum(map(len, X)) 您也

如何使用h5py有效地保存和读取numpy.ndarray列表?例如,我想保存/读取:

Y = np.arange(3**3).reshape(3,3,3)
X = [[Y,Y],[Y,Y,Y],[Y]]

我正在寻找最有效的(无双循环等)解决方案。

我将假设Y是相同的类型,例如int32或string。通常,处理此问题的最有效方法是将Y作为单个向量(展平)发射,其长度为:

totalLen = sum(map(len, X))
offsets  = cumsum(map(len, X))
您也可以将偏移量粘贴到hdf5文件中,并在开始时将其加载到内存中。那么获取列表i就是:

offsets[i]:(offsets[i+1] - 1)