我开发了一个库,它使用较低级别的Cython来解决2D数组中的流问题。如果这些数组是numpy数组,我可以静态地键入它们,从而避免Python解释器对随机访问这些数组的开销。为了处理这么大的数组,它们不适合内存,我打算使用pytables中的hd5file数组代替numpy,但我无法弄清楚是否可以静态输入CArray。
是否有可能在Cython中静态输入hd5file CArrays以避免在随机访问这些数组时出现Python解释器开销?
答案 0 :(得分:1)
如果你使用h5py
软件包,你可以在它给你的数据集上使用numpy.asarray()
,那么你就有了一个你已经知道如何处理的更熟悉的NumPy数组。
请注意h5py
有一个与此相关的错误,直到几年前在执行asarray()
时造成了灾难性的缓慢但这已经解决了所以请不要使用非常旧的版本我会尝试这个。