я прочитал случайное подмножество строк из таблицы HDF с помощью следующего кода Python/панды:Python Read hdf5 Ряды Где Индекс Не в списке
hdf_store = pd.HDFStore('path_to_data.h5')
total_rows = hdf_store.get_storer('hdf_table_name').nrows
num_rows = int(total_rows * .25)
row_indices = np.random.randint(0,rows_indices,size=num_rows)
my_df = pd.read_hdf(hdf_store, 'hdf_table_name', where=pd.Index(row_indices))
Позже в программе, я хотел бы вытащить остальные строк данных из таблицы HDF5. Но следующие ошибки:
rest_of_rows = pd.read_hdf(hdf_store, 'hdf_table_name',
where=pd.Index(not in (row_indices)))
rest_of_rows = pd.read_hdf(hdf_store, 'hdf_table_name',
where=not pd.Index(row_indices))
Есть ли способ вытащить строки HDF по записям, не входящим в список индексов?
Поскольку таблица больше, чем моя оперативная память, я бы хотел, чтобы вы не вытащили все строки из HDF (даже в кусках), а затем разделили его на одновременное удерживание обеих таблиц. Я мог отображать индексы в другой столбец и подмножество строк, не отображаемых в сопоставленном значении этого столбца. Но это, вероятно, будет намного медленнее, чем запрос по индексу напрямую.