将pandas数据帧写入HDF5

时间:2016-08-12 10:36:43

标签: python hadoop pandas dataframe

我正在python中处理大量文件,需要直接在HDF5中编写输出(每个输入文件一个数据帧)。 我想知道从我的脚本直接快速地将pandas数据框写入HDF5的最佳方法是什么?我不确定是否有像hdf5,hadoopy这样的python模块可以做到这一点。在这方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

很难为这个相当普遍的问题给出一个很好的答案。

目前尚不清楚如何使用(读取)HDF5文件 - 是否要有条件地选择数据(使用where参数)?

你需要打开商店对象的所有内容:

store = pd.HDFStore('/path/to/filename.h5')

现在你可以写(或附加)到商店(我在这里使用blosc压缩 - 它非常快速和高效),除此之外我会使用data_columns参数以指定必须编入索引的列(因此,稍后当您阅读HDF5文件时,可以在where参数中使用这些列):

for f in files:
    #read or process each file in/into a separate `df`
    store.append('df_identifier_AKA_key', df, data_columns=[list_of_indexed_cols], complevel=5, complib='blosc')

store.close()