如何将另一个数据帧添加到 pandas hdf5

How do you add another dataframe to pandas hdf5

db = pd.HDFStore("database.h5")
df = pd.DataFrame(np.random.randn(8, 3), columns=['Col1', 'Col2', 'Col3'])
db.put("A1", df, format = 'table', data_columns = True)
db["A1"]

    Col1    Col2    Col3
0   1.036201    -0.395399   -0.741962
1   0.233349    -0.733992   0.754594

db.close()

现在我想添加另一个不相关的数据帧(稍后在另一个文件中,所以我现在必须关闭数据库):

db = pd.read_hdf("database.h5")
db.put("A3", newdf, format='table', data_columns=True)

我收到错误 'DataFrame' object has no attribute 'put' 并且我看到 db 实际上是一个数据帧:

db
    Col1    Col2    Col3
0   1.036201    -0.395399   -0.741962
1   0.233349    -0.733992   0.75459

默认模式是append,所以你可以用同样的方式打开文件并根据需要添加更多数据帧:

db = pd.HDFStore("database.h5", 'a')  # open existing store
db.put("A3", newdf, format='table', data_columns=True)
db.close()