pandas,将多个数据集存储在一个h5文件中,pd.to_hd

2024-10-01 11:36:58 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两个数据帧

import pandas as pd
df1 = pd.DataFrame({'col1':[0,2,3,2],'col2':[1,0,0,1]})
df2 = pd.DataFrame({'col12':[0,1,2,1],'col22':[1,1,1,1]})

现在df1.to_hdf('nameoffile.h5', 'key_to_store','w',table=True) 成功地存储了df1,但我也想将df2存储到同一个文件,但是如果我尝试相同的方法,那么df1将被重写。当我尝试加载它并检查键时,我只看到df2的信息。如何将df1df2作为表存储在同一个h5文件中?


Tags: 文件to数据importdataframepandasascol2
2条回答

我以前用过这个,没有问题:

store = pd.HDFStore(path_to_hdf)
store[new_df_name] = df2
store.close()

所以你可以尝试:

store = pd.HDFStore(path_to_hdf)
store['df1'] = df1
store['df2'] = df2
store.close()

我在一个系统中使用了这个,用户可以存储用于微量滴定板实验的布局。第一次保存布局时,hdf文件被创建,随后的布局可以附加到文件中。

注意:我在程序开始时设置了pd.set_option('io.hdf.default.format', 'table')

您正在使用'w'覆盖,默认模式为'a',因此您可以执行以下操作:

df2.to_hdf('nameoffile.h5', 'key_to_store', table=True, mode='a')

检查文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_hdf.html#pandas.DataFrame.to_hdf

相关问题 更多 >