微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 将Dask DataFrame存储为pickle

我有一个dask DataFrame构造如下:

import dask.dataframe as dd

df = dd.read_csv('matrix.txt', header=None)
type(df) //dask.dataframe.core.DataFrame

有没有办法将这个DataFrame保存为pickle?

例如,

df.to_pickle('matrix.pkl')

解决方法:

通过快速检查dask中可用的方法,这是不可能的.它仍然可以作为另一个答案,但我担心由于dask数据帧的最终分布式特性,它可能不是直截了当的.

无论如何,如果我是你,我会通过另一个解决方案并使用镶木地板作为存储.它为您提供与泡菜基本相同的优点,以及更多.

df.to_parquet('my_file.parquet')

虽然,如果你的计划是使用pickle作为’暂停’方法以便稍后恢复计算,那么保存到镶木地板并不会有帮助.

我的建议是到目前为止使用镶木地板.请看这个post,其中比较了存储一般熊猫数据帧的不同技术.你会发现他们甚至不讨论pickle(它有一些问题,比如它可能在两个python版本之间不兼容).这篇文章略显陈旧,现在pandas / dask可以直接使用镶木地板,而无需明确使用pyarrow.

我想你有兴趣阅读时间.文件大小和读取时间之间总是存在权衡.虽然在文章显示当您考虑多核心操作时,您可以使用压缩拼花文件获得类似的读取性能(Parquet-snappy列)

enter image description here

因此,我会重复一遍.去寻找实木复合地板文件,你将面向未来.除非你的用例与柱状/面向数据的用例非常不同.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐