如何使用h5py有效地保存和阅读numpy.ndarray列表的列表?例如。我想保存/阅读:
Y = np.arange(3**3).reshape(3,3,3)
X = [[Y,Y],[Y,Y,Y],[Y]]
我正在寻找最有效(没有双循环等)的解决方案。
答案 0 :(得分:1)
我将假设Y是相同的类型,例如int32或string。通常,处理此问题的最有效方法是将Y作为单个向量(展平)发出,其长度为:
totalLen = sum(map(len, X))
offsets = cumsum(map(len, X))
您也可以将偏移量粘贴到hdf5文件中,并在开始时将其加载到内存中。然后得到列表我只是:
offsets[i]:(offsets[i+1] - 1)