Я довольно новичок в пандах, поэтому, пожалуйста, извините, если мои вопросы тривиальны.Сохранение списков переменной длины до HDF5 в pandas
Я хочу сохранить рамку данных pandas в hdf5, которая содержит список списков переменной длины в виде столбца. Моя цель - записать и прочитать в этом фрейме данных позже в chuncks. Это представляется возможным только в том случае, если я храню фрейм данных в формате таблицы. Однако, если я сохранить фрейм данных в виде таблицы я получаю следующее сообщение об ошибке:
TypeError: Cannot serialize the column [pdf] because its data contents are [mixed] object dtype
В дальнейшем я покажу минимальный пример, чтобы воспроизвести проблему:
import pandas as pd
import numpy as np
df = pd.DataFrame()
df['ID'] = [el for el in np.arange(100)]
df['pdf'] = [np.arange(i) for i in df['ID']]
df.to_hdf('test_format_table.h5','df', format='table')
Если я сохранить кадр данных с format = 'fixed' все будет работать, однако я хочу сохранить в формате таблицы.
Можно ли легко решить эту проблему?
Большое спасибо за помощь.
Markus
Большое спасибо за ваш ответ. Вы совершенно правы: я решаю эту проблему странным образом. Причина, по которой я делаю это, - это пространство для хранения, поэтому я не делаю никаких дополнений. Я попробовал ваше решение, и он создает файл размером 1,46 Гб, тогда как для моего «решения» требуется только 401,5 МБ. Я использую для этого примера df ['ID'] = [el для el в np.arange (10000)]. Поскольку это слишком большой файл для моих целей, я действительно хочу избежать заполнения. Любая идея, как это можно сделать? – Markus