2012-06-15 8 views
0

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

MATLAB ver R2011b.

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

+0

Как вы загружаете, что файлы формата HDF5 в MATLAB? – Oli

+0

@ uscere90: что именно вы ищете, [набор данных] (http://www.mathworks.com/help/toolbox/stats/dataset.html) типа в MATLAB или способ манипулировать [HDF5] (http : //www.mathworks.com/help/techdoc/ref/hdf5.html) файлы? – Amro

+0

@Amro Я ищу способ манипулирования файлами hdf5. Файл, с которым я работаю, слишком велик, чтобы сразу загрузить все в ram. Я хватаю трехмерный кусок, содержащий нужные мне данные, а затем просматриваю его, как только у Matlab есть его в памяти. Я надеялся, что смогу сделать это с большей элегантностью, таблицей la pytables. Здесь это сразу возвращает ваши соответствующие данные. – uscere90

ответ

0

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

После того, как у вас есть доступ к данным в 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),:) 
+0

Действительно, это то, что я сейчас делаю. Я надеялся, что есть функция hdf5, которая только вернет соответствующие данные, вместо того, чтобы загружать большой кусок, который, как гарантируется, будет содержать нужные мне данные, а затем искать его, чтобы найти его. – uscere90

+0

Кажется, что hdf5read может считывать один столбец данных. Это должно хотя бы снизить нагрузку. Затем вы можете сохранить индексы, соответствующие вашим критериям, и загрузить их позже. – jpjacobs