使用DataFrame.to_pickle将Pandas Dataframe导出为.pkl会保留导入时我列的dtype吗?

时间:2019-04-01 02:34:31

标签: pandas dataframe pickle

问题摘要

我一直在远程计算机上处​​理大型数据集,而其内存比台式机还要多。为了准备在笔记本电脑上使用的数据,我仔细研究并更改了原始数据的许多dtypes,以帮助减少数据帧将占用的内存量。

如果我将数据框另存为.pkl文件,当在笔记本电脑上打开数据框时,它将以正确的dtypes(和较小的内存大小)加载吗?

我在几个地方搜索过,还没有找到任何确定性的文档或对此问题的答案,所以我觉得最好问一下并让其他人找到答案,这样他们就不必这样做了。艰辛的道路。

更改dtype之前的DataFrame

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

更改dtype之后的DataFrame(以及保存后运行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

0 个答案:

没有答案