将Pandas DataFrame转储为Pickle文件

3

这是一个懒人的问题。

我有4百万行的pandas DataFrame,想把它们保存成更小的pickle文件块。

为什么要分成更小的块呢? 为了更快地保存/加载它们。

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

2)在读取块时是否有任何优雅的方式将它们粘合在一起,而不是手动粘合它们?

请随意建议任何适用于此工作的数据类型,除了pickle。

2个回答

4
如果目标是快速保存和加载,您应该考虑使用使用SQL而不是原始文本的pickling。如果您的计算机在要求写入400万行时发生故障,您可以指定块大小。
从那里,您可以使用标准SQL查询切片。

3
我已经在使用这个数据框,大小为7,000,000 x 250。 使用hdfs。请参考文档
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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接