Подпишитесь на Quantifiers для статей Fin/Analytics

Формат файла данных определяет стандартные способы хранения информации в файле или базе данных. Нам нужны разные форматы файлов для разных вариантов использования.

Например, если мы знаем, что только системы Python будут читать наш файл, мы можем выбрать формат Pickle, поскольку он очень оптимизирован.

Формат данных CSV был наиболее широко используемым вариантом для хранения данных. Используя CSV, мы можем читать и записывать большинство программ для работы с данными. Однако нет прикрепленной схемы и стандартного способа управления символами, и это не лучший способ работы со сложными данными.

В этой статье мы обсудим пути развития формата файла данных:

Parquet.Parquet — один из наиболее распространенных форматов хранения больших данных, так как он очень быстрый. Он также понимает все типы данных, используемые Pandas, включая мультииндексные фреймы данных. Он оптимизирован для работы со сложными большими объемами данных и предлагает различные способы эффективного сжатия и кодирования данных. Он в основном используется в качестве хранилища данных или формата хранилища озера данных.

Parquet ориентирован на столбцы, в отличие от других форматов данных, таких как CSV, которые ориентированы на строки.

Данные для разделены на фрагменты столбцов и записываются в виде страниц. Каждая страница содержит значения только для определенного столбца, поэтому страницы лучше всего подходят для сжатия, поскольку они содержат схожие значения.

Например, если у нас есть таблица данных в виде:

Единственная проблема с использованием Parquet заключается в том, что он не читается человеком.

Pickle. Формат данных pickle использует относительно компактное двоичное представление. Это высокооптимизированный метод хранения данных, поддерживаемый для чтения и записи Python. Единственным недостатком использования Pickle является то, что его понимает только Python.

Таким образом, мы можем использовать Pickle только тогда, когда система python будет читать наши файлы.

Feather.Feather – это быстрый и легкий формат хранения данных. Естественно, он понимает почти все типы данных, используемые Pandas.

Однако его можно читать и писать только из Python и нескольких других языков программирования. Он поддерживает только невложенные и категориальные (закодированные в словаре) типы данных.

Простое практическое упражнение, чтобы попробовать различные форматы файлов:

Обратитесь к Github за кодом (Data_File_Formats.ipynb) и файлом данных (train.csv).

Мы преобразовали образец данных CSV в разные форматы — пикл, перо и паркет. Затем мы сравнили размер файла и время чтения.

- Размер файла данных в формате CSV составляет 5,8 МБ. С Pickle и Feather мы видим уменьшение размера до 1,5 МБ. Однако с паркетом мы видим значительное уменьшение размера файла — 0,13 МБ.

- Говоря о времени чтения, в то время как файл CSV занимает 111 мс, у Pickle и Feather всего 25 и 17 мс соответственно.

Факторы, которые следует учитывать при выборе формата файла данных:

Структура. Структура файла данных представляет собой комбинацию представлений данных в файлах и операций доступа к данным. В то время как CSV позволяет хранить вложенные данные, Feather подходит только для невложенных данных.

Совместимость: CSV совместим с большинством инструментов, однако Pickle поддерживается только Python. Таким образом, мы не можем использовать Pickle, если наши файлы будут читаться системами, отличными от Python.

Схема: CSV не имеет прикрепленной схемы, в то время как перо определяет свои собственные упрощенные схемы и метаданные для представления на диске.

Читаемость: CSV-файл легко читать, но Pickle не читается человеком.

Привет, если вам нравится мой контент на Среднем или Квантификаторе и вы находите его находчивым, вы можете выразить свою поддержку, нажав кнопку аплодисментов. эм>

Что касается интервью с PM, вы можете обратиться к замечательным статьям на странице Technomanagers.

Навстречу команде ИИ Данные и общество