在pytables数组上的核心'where'

时间:2014-06-17 14:27:29

标签: pytables numexpr

我有一个大的pytables carray映射到hdf5文件,我想根据条件提取一个非常小的子集,而不必立即将整个内容拉入内存。我想要的就是这个numpy代码的等价物:

b=a[np.where(a>3.0)]

其中'a'将是我的pytables磁盘阵列。这似乎微不足道,但我已经抓了几个小时。如果有人能提供帮助,我将非常感激。

大卫

1 个答案:

答案 0 :(得分:3)

你不能对PyTables中的* Array对象进行'核外'查询。原因是Table对象在PyTables中获得了最大份额的爱。这里你最好的选择是将CArray内容存储在一个只有一列的表中。