2016-07-21 239 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。