Оптимальный по производительности способ сериализации объектов Python, содержащих большие фреймы данных PandasPython

Программы на Python
Ответить
Anonymous
 Оптимальный по производительности способ сериализации объектов Python, содержащих большие фреймы данных Pandas

Сообщение Anonymous »

Я имею дело с объектами Python, содержащими объекты Pandas DataFrame и Numpy Series. Это могут быть большие строки, несколько миллионов строк.
Например:

Код: Выделить всё

@dataclass
class MyWorld:
# A lot of DataFrames with millions of rows
samples: pd.DataFrame
addresses: pd.DataFrame
# etc.
Мне нужно кэшировать эти объекты, и я надеюсь найти эффективный и безболезненный способ их сериализации вместо стандартного Pickle.dump(). Существуют ли какие-либо специализированные сериализаторы Python для таких объектов, которые автоматически собирали бы данные Series с помощью какого-либо эффективного кодека и сжатия? В качестве альтернативы мне нужно вручную создать несколько файлов Parquet, но для этого потребуется много ручного кода, и я бы предпочел избежать этого, если это возможно.
Производительность здесь может означать
  • Скорость
    Размер файла (может быть связан, так как вам нужно меньше читать с диска/сети)< /li>
Я знаю joblib.dump(), который творит некую магию для объектов такого типа, но, судя по документации, я не уверен, актуально ли это больше.

Подробнее здесь: https://stackoverflow.com/questions/790 ... andas-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»