Добавить новые столбцы в HDFStore с пандами
Я использую Pandas и создаю объект HDFStore. Я вычисляю 500 столбцов данных и записываю их в табличный формат объекта HDFStore. Затем я закрываю файл, удаляю данные из памяти, делаю следующие 500 столбцов (помеченных увеличивающимся целым числом), открываю хранилище и пытаюсь добавить новые столбцы. Однако это не нравится. Это дает мне ошибку
invalid combinate of [non_index_axes] on appending data [[(1, [500, 501, 502, ...])]] vs current table [[(1, [0, 1, 2, ...])]]
Я предполагаю, что это позволяет только добавлять больше строк, а не столбцов. Так как мне добавить больше столбцов?
2 ответа
Файлы HDF5 имеют фиксированную структуру, и вы не можете легко добавить столбец, но обходным путем является объединение разных DF и повторная запись их в файл HDF5.
hdf5_files = ['data1.h5', 'data2.h5', 'data3.h5']
df_list = []
for file in hdf5_files:
df = pd.read_hdf(file)
df_list.append(df)
result = pd.concat(df_list)
# You can now use the result DataFrame to access all of the data from the HDF5 files
Это решает вашу проблему?
Напомните, что HDF5 не предназначен для эффективных операций добавления, вам следует подумать о системе базы данных, если вам нужно часто добавлять новые столбцы к вашим данным, имхо.
Вы сохранили заголовки столбцов в коде
[1,2,3,....]
и пытается добавить dataFrame с разными столбцами
[500, 501, 502, ...]