Сохранит ли экспорт Dataframe Pandas как .pkl с использованием DataFrame.to_pickle сохранит dtypes моих столбцов при импорте? - PullRequest
0 голосов
/ 01 апреля 2019

Краткое описание проблемы

Я работал над большим набором данных на удаленном компьютере с гораздо большим количеством оперативной памяти, чем на моем рабочем столе. Чтобы подготовить данные для использования на моем ноутбуке, я прошел и изменил многие dtypes исходных данных, чтобы помочь уменьшить объем памяти, который займет фрейм данных.

Если я сохраню фрейм данных в виде файла .pkl, будет ли он загружаться с правильными dtypes (и меньшим объемом памяти), когда я открою его на своем ноутбуке?

Я искал в нескольких местах и ​​не нашел какой-либо убедительной документации или ответов на этот вопрос, так что я чувствую, что лучше спросить и получить ответ для всех остальных, чтобы они не делали это трудный путь.

Мой DataFrame до изменения dtypes

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 15397309 entries, 0 to 15397308
Data columns (total 7 columns):
commentor                object
comment_time             int64
comment_id               int64
parent_id                int64
comment_deleted          bool
comment_dead             bool
parent_author            object
dtypes: bool(2), int64(3), object(2)
memory usage: 2.9+ GB

Мой DataFrame после изменения dtypes (и как я хотел бы, чтобы он загружался при запуске pd.read_pickle () после сохранения)

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 15397309 entries, 0 to 15397308
Data columns (total 7 columns):
commentor                category
comment_time             int32
comment_id               int32
parent_id                int32
comment_deleted          bool
comment_dead             bool
parent_author            category
dtypes: bool(2), category(2), int32(3)
memory usage: 1.3+ GB
...