[英]What's the fastest way to pickle a pandas DataFrame?
哪个更好,使用Pandas内置方法还是pickle.dump
?
标准泡菜方法如下所示:
pickle.dump(my_dataframe, open('test_pickle.p', 'wb'))
Pandas内置方法如下所示:
my_dataframe.to_pickle('test_pickle.p')
感谢@qwwqwwq我发现pandas有一个内置的to_pickle
方法用于数据帧。 我做了一个快速测试:
In [1]: %timeit pickle.dump(df, open('test_pickle.p', 'wb'))
10 loops, best of 3: 91.8 ms per loop
In [2]: %timeit df.to_pickle('testpickle.p')
10 loops, best of 3: 88 ms per loop
所以看起来内置只是更好(对我来说,这很有用,因为它意味着可能不值得重构代码来使用内置) - 希望这有助于某人!
轻松基准,对吗?
完全没有区别,实际上我希望Pandas实现getstate,这样调用pickle.dump(df)
实际上与调用df.to_pickle()
相同。
如果在Pandas源代码中搜索示例__getstate__
,您会发现它是在多个对象上实现的 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.