Comments 13
Классная статья: минимум воды, понятный вывод
Как интерпретировать отрицательное значение расхода памяти при сохранении в csv?
Как околонулевой расход памяти при сохранении в csv + погрешность (сборщик мусора сработал, например)
Как верно отметил @MentalBloodтам околонулевой расход текстового формата и погрешность
Полезно. Из "итогов" как-то легко убрали неплохой вариант, который можно встретить у каждого второго датасайентиста. Pickle (со сжатием) все-таки очень близок к parquet и feather по всем параметрам, и эта троица в целом неплоха и во многом равнозначна.
Единственным заметным минусом pickle назову несовместимость версий для разных сочетаний pandas+python. То есть он плохо пригоден для архивного хранения и редкого обращения. Спустя пару лет старый pkl-файл придется открывать с приключениями.
Минусы есть и у parquet - не на каждую старую ОС или платформу легко его поставить. Но все проблемы имеют решения, в этом экосистема Python сильна, практически нет тропинок, по которым кто-то не прошел (и не оставил след на stackoverflow).
как-то легко убрали
ACE это не шутки. Впрочем, можно подписывать получаемый файл (но это замедлит загрузку и выгрузку)
del
Я наверное лет 5 назад пробовал разные форматы и остановился тогда на feather в плане скорости записи и чтения. Удивительно, что с тех пор особо ничего не поменялось.
Отличная статья!
Код бенчмарка здесь - ссылка, вы можете попробовать перевести его на Polars, корректировки потребуются в utils.py и main.py. Правда у Polars, не все перечисленные форматы поддерживаются "из коробки".
Беглым запуском (не ручаюсь за точность) у меня получились такие данные, для Parquet и CSV:
Лучший формат данных для хранения pandas.DataFrame