2016-07-21 246 views
3

这是一个懒惰的男人的问题。Pickle dump熊猫DataFrame

我有400万行熊猫DataFrame,并希望将它们保存到小块的pickle文件中。

为什么要小块? 更快地保存/加载它们。

我的问题是: 1)是否有更好的方法(内置函数)将它们保存为小块,而不是使用np.array_split手动分块?

2)有没有优美的方式粘在一起,当我读大块,而不是手动粘在一起?

请随意推荐除腌菜之外的适合此工作的其他数据类型。

回答

3

我一直在使用这为大小的数据帧700万×250

使用HDFS DOCUMENTATION

df = pd.DataFrame(np.random.rand(5, 5)) 
df 

enter image description here

df.to_hdf('myrandomstore.h5', 'this_df', append=False, complib='blosc', complevel=9) 

new_df = pd.read_hdf('myrandomstore.h5', 'this_df') 
new_df 

enter image description here

4

如果目标是快速保存和加载,您应该查看using sql而不是纯文本酸洗。如果您的计算机在您要求它写入400万行时发生窒息,您可以指定块大小。

从那里你可以用std查询切片。 SQL。