Pandas msgpack против рассола

msgpack в Pandas заменит pickle .

В документах Pandas на msgpack :

Это легкий переносимый двоичный формат, похожий на двоичный JSON, который обладает высокой эффективностью в пространстве и обеспечивает хорошую производительность как при записи (сериализации), так и при чтении (десериализации).

Однако я считаю, что его производительность, похоже, не складывается против рассола.

 df = pd.DataFrame(np.random.randn(10000, 100)) >>> %timeit df.to_pickle('test.p') 10 loops, best of 3: 22.4 ms per loop >>> %timeit df.to_msgpack('test.msg') 10 loops, best of 3: 36.4 ms per loop >>> %timeit pd.read_pickle('test.p') 100 loops, best of 3: 10.5 ms per loop >>> %timeit pd.read_msgpack('test.msg') 10 loops, best of 3: 24.6 ms per loop 

Вопрос: Из-за потенциальных проблем безопасности с рассолом, каковы преимущества msgpack над рассолом? Является ли рассол еще предпочтительным методом сериализации данных или в настоящее время существуют лучшие альтернативы?

One Solution collect form web for “Pandas msgpack против рассола”

Рассол лучше для следующего:

  1. Числовые данные или все, что использует буферный протокол (массивы numpy) (хотя, только если вы используете несколько недавний protocol= )
  2. Специфичные для Python объекты, такие как классы, функции и т. Д. (Хотя здесь вы должны посмотреть на cloudpickle )

MsgPack лучше для следующего:

  1. Межъязыковое взаимодействие. Это альтернатива JSON с некоторыми улучшениями
  2. Производительность по текстовым данным и объектам Python. Это достойный фактор быстрее, чем Pickle при этом при любых настройках.

Как отметил @Jeff выше, этот блогпост может представлять интерес http://matthewrocklin.com/blog/work/2015/03/16/Fast-Serialization/

  • Используя pandas.io.sql.read_frame, могу ли я parse_dates, как в read_csv?
  • Pandas заполняет отсутствующие даты и значения внутри группы
  • Горизонтальная панель с аннотациями
  • Значение по умолчанию / заполнение для * multi-key * внешних объединений
  • Преобразование серий pandas из строки в уникальный int id
  • Несколько временных рядов в DataFrame
  • Самый эффективный способ определения периодов перекрытия в Python
  • Сделайте Pandas groupby так же, как и itertools groupby
  • Pandas: подсчитайте первые последовательные значения True
  • Как я могу обобщить группировку данных pandas на более чем 3 измерения?
  • Использование numpy.genfromtxt для чтения csv-файла со строками, содержащими запятые
  •  
    Interesting Posts for Van-Lav

    Делает ли локальные псевдонимы переменных ускорять списки, поскольку он делает петли?

    Удаление определенных управляющих символов (\ n \ r \ t) из строки

    Как использовать функцию минимизации в scipy с ограничениями

    Ошибка травления многопроцессорной системы Python

    `object in list` ведет себя иначе, чем` object in dict`?

    как обрезать обнаруженное лицо в opencv и сохранять roi как изображение в opencv python

    CherryPy: как обрабатывать запрос, прежде чем он достигнет метода приложения?

    Получить tz смещение от жало

    Python – Telnet закрывается перед ожиданием функции чтения печати

    python optparse, как включить дополнительную информацию в использование?

    Словарь Python из полей объекта

    Я передаю копии аргументов или самих аргументов функциям в __init__?

    Как получить модульную переменную в функции из другого модуля?

    Python: изменение тональности аудиофайла

    Как перечислить все DLL, загруженные процессом с помощью Python?

    Python - лучший язык программирования в мире.