Сохранение нескольких столбцов / переменных с разными размерами в одном файле CSV - PullRequest
0 голосов
/ 24 января 2019

У меня есть около 100 столбцов с большим количеством значений в каждом из них.Я хочу сохранить их в файле CSV, чтобы я мог прочитать файл и использовать значения в этих столбцах в своем коде.Единственная проблема заключается в том, что эти столбцы не связаны друг с другом и имеют разную длину, поэтому они технически не являются частью фрейма данных.

Я думал о том, чтобы сохранить их в файле CSV, а затем прочитать каждыйстолбец отдельно и используй его в моем коде.Поскольку эти столбцы имеют разную длину и не являются частью фрейма данных, я предполагаю, что мне нужно отфильтровать значения NaN в каждом столбце, прежде чем я его использую.

Интересно, есть ли более простой способв котором я могу хранить (в файле) и читать эти столбцы.Я думаю о списках или чем-то подобном.

Заранее спасибо.

1 Ответ

0 голосов
/ 24 января 2019

CSV не подходит для вашей задачи.

Поскольку у вас уже есть последовательность фреймов данных, я предлагаю вам рассмотреть HDF5 для эффективного хранения ваших фреймов данных в одном файле. Вы можете одновременно включить сжатие:

for idx, df in enumerate(list_of_dfs):
    df.to_hdf('data.h5', f'df_{idx}', complib='zlib', complevel=5)

Это прикрепляет упорядоченный идентификатор к каждому фрейму данных, т. Е. df_0, df_1 и т. Д. Затем вы можете прочитать конкретный фрейм данных с помощью pd.read_hdf. Например:

first_df = pd.read_hdf('data.h5', key='df_0')
...