要使用h5py快速切片,请使用“普通香草”切片符号:
file['test'][0:300000]
或者,例如,阅读其他所有元素:
file['test'][0:300000:2]
简单切片(切片对象和单个整数索引)应该非常快,因为它可以直接转换为HDF5超平板选择。
该表达式
file['test'][range(300000)]调用h5py的“ fancy
indexing”版本,即通过显式索引列表进行索引。HDF5中没有本地方法可以执行此操作,因此h5py在Python中实现了一个(较慢的)方法,但不幸的是,当列表>
1000个元素时,该方法的性能会很差。对于
file['test'][np.arange(300000)],也以相同的方式解释。
也可以看看:
[1] http://docs.h5py.org/en/latest/high/dataset.html#fancy-
indexing
[2]
https://github.com/h5py/h5py/issues/293



