Как добавить еще один фрейм данных в панды hdf5 - PullRequest
0 голосов
/ 01 мая 2018
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):

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

Я получаю сообщение об ошибке 'DataFrame' object has no attribute 'put' и вижу, что БД на самом деле является фреймом данных:

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

1 Ответ

0 голосов
/ 01 мая 2018

Режим по умолчанию - a ppend, так что вы можете просто открыть файл таким же образом и добавить больше фреймов данных при необходимости:

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