extraer - importar datos de un txt en python
que es más rápido para la carga: pickle o hdf5 en python (1)
Dada es una lista de 1.5 Gb de marcos de datos de pandas.
Me pregunto cuál es un mejor enfoque para manejar la carga de estos datos: pickle (a través de cPickle), hdf5, o alguna otra cosa en python?
Primero, "descargar" los datos está bien si se demora, solo lo hago una vez.
Tampoco me preocupa el tamaño del archivo en el disco.
Pregunta: Lo que me preocupa es la velocidad de carga de datos en la memoria lo más rápido posible.
Consideraría solo dos formatos de almacenamiento: HDF5 (PyTables) y Feather
Aquí están los resultados de mi comparación de lectura y escritura para el DF (forma: 4000000 x 6, tamaño en memoria 183.1 MB, tamaño de CSV sin comprimir - 492 MB).
Comparación para los siguientes formatos de almacenamiento: ( CSV
, CSV.gzip
, Pickle
, HDF5
[varias compresiones]):
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
Pero podría ser diferente para usted, porque todos mis datos eran del tipo de datetime
y datetime
, por lo que siempre es mejor hacer una comparación con sus datos reales o al menos con datos similares ...