给出的是熊猫数据框的1.5 Gb列表。加载速度更快:python中的pickle或hdf5
我想知道哪个是更好的方法来处理加载这些数据: pickle(通过cPickle),hdf5,或其他在Python中?
首先,“倾销”数据可以花费很长时间,我只做一次。
我也是不是与磁盘上的文件大小有关。
问: 我所关心的是低速载货的数据到内存中尽可能快地。
给出的是熊猫数据框的1.5 Gb列表。加载速度更快:python中的pickle或hdf5
我想知道哪个是更好的方法来处理加载这些数据: pickle(通过cPickle),hdf5,或其他在Python中?
首先,“倾销”数据可以花费很长时间,我只做一次。
我也是不是与磁盘上的文件大小有关。
问: 我所关心的是低速载货的数据到内存中尽可能快地。
我认为只有两种存储格式:HDF5(PyTables)和Feather
下面是对DF(形状的我read and write comparison结果:400万×6,大小内存183.1 MB,未压缩的CSV的大小 - 492 MB)。
比较以下存储格式:(CSV
,CSV.gzip
,Pickle
,HDF5
[各种压缩):
read_s write_s size_ratio_to_CSV
storage
CSV 17.900 69.00 1.000
CSV.gzip 18.900 186.00 0.047
Pickle 0.173 1.77 0.374
HDF_fixed 0.196 2.03 0.435
HDF_tab 0.230 2.60 0.437
HDF_tab_zlib_c5 0.845 5.44 0.035
HDF_tab_zlib_c9 0.860 5.95 0.035
HDF_tab_bzip2_c5 2.500 36.50 0.011
HDF_tab_bzip2_c9 2.500 36.50 0.011
但它可能是你不一样,因为我的所有数据是datetime
D型的,所以它总是更好地与你的真实数据或至少与类似的数据进行这样的比较...
你有没有试过在你的特定条件下测量这个? – pvg
我猜腌菜将是转储这些数据的最糟糕的方法之一:-)。当然,这只是一个猜测。我没有任何硬数据来支持它。说到硬数据,为什么不做一个实验并找出答案? – mgilson
嗯,我发布的问题不是我想的答案;)我可以测试pickle vs hdf5,但是如果本网站的专家可以指导我采用更好的方法来解决“或其他问题”,该怎么办? :) – denvar