что быстрее для загрузки: pickle или hdf5 в python [закрыто]
задан список фреймов данных pandas объемом 1,5 Гб.
Мне интересно, что лучший подход для обработки загрузки данных: рассол (через cPickle), hdf5 или что-то еще в python?
во-первых, "сброс" данных в порядке, чтобы занять много времени, я делаю это только один раз.
Я тоже не связана с размером файла на диске.
вопрос: Что меня беспокоит, так это скорость загрузки данные в памяти как можно быстрее.
1 ответов
Я бы рассмотрел только два формата хранения: HDF5 (PyTables) и перо
вот результаты моих чтение и запись сравнение для DF (форма: 4000000 x 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
dtype, поэтому всегда лучше сделать такое сравнение с код реальные данные или, по крайней мере, с аналогичными данными...