Таблица PyTables. Где эквивалентно в Matlab

Я пытаюсь найти в MATLAB что-то похожее на PyTables table.where, который выбирает подмножество набора данных на основе критериев (например, col1 = 4). Пока мои поиски совершенно бесплодны. Я не могу поверить, что такая полезная функция не будет поддерживаться каким-то образом... кто-нибудь может помочь?

MATLAB версии R2011b.

РЕДАКТИРОВАТЬ: В случае, если это неясно из вопроса, я использую файл HDF5 для хранения данных в MATLAB, поэтому я хочу найти функциональность, аналогичную PyTables.


person uscere90    schedule 15.06.2012    source источник
comment
Как вы загружаете файлы формата HDF5 в Matlab?   -  person Oli    schedule 16.06.2012
comment
@uscere90: что именно вы ищете, тип набор данных в MATLAB или способ управления файлами HDF5?   -  person Amro    schedule 16.06.2012
comment
@Amro Я ищу способ манипулировать файлами hdf5. Файл, с которым я работаю, слишком велик, чтобы загрузить все сразу в оперативную память. Я беру трехмерный фрагмент, содержащий нужные мне данные, а затем ищу его, как только Matlab запишет его в память. Я надеялся, что смогу сделать это более элегантно, а-ля pytables table.where, который сразу же возвращает ваши соответствующие данные.   -  person uscere90    schedule 18.06.2012


Ответы (1)


Я думаю, то, что вы пытаетесь сделать, включает либо load создание файла в памяти (или вы можете дать HDF5 Diskmap Класс попробуйте, если он слишком большой для памяти).

Когда у вас есть доступ к вашим данным в Matlab в виде матрицы, это просто:

a=[
0 0 0 0 1;
0 1 0 0 1;
1 0 1 1 1;
0 1 1 1 1;
1 0 1 0 1];

a(find(a(:,1)==1),:)
person jpjacobs    schedule 17.06.2012
comment
Собственно, этим я сейчас и занимаюсь. Я надеялся, что есть функция hdf5, которая будет возвращать только совпадающие данные, вместо того, чтобы загружать большой кусок, который гарантированно содержит нужные мне данные, а затем искать их, чтобы найти. - person uscere90; 18.06.2012
comment
Кажется, что hdf5read может считывать один столбец данных. Это должно по крайней мере уменьшить вашу нагрузку. Затем вы можете сохранить индексы, соответствующие вашим критериям, и загрузить их позже. - person jpjacobs; 18.06.2012