熊猫:使用模(和其他功能)过滤HDF表

时间:2020-01-29 15:29:18

标签: python pandas hdf5 pytables

使用模数%(以及可能类似的功能,例如功率**)从HDF文件读取数据时,如何过滤(不加载整个数据集)数据?

这里是一个例子:

import pandas as pd

df = pd.DataFrame({'x': range(20)})
df.to_hdf('df.h5', 'df', format='table', data_columns=True)

pd.read_hdf('df.h5', 'df', where='x % 5 == 0')

错误:

TypeError: condition ``(x % 5)`` does not have a boolean type

在此示例中,像x > 10这样的条件可以正常工作。

编辑:

我发现问题可能出在Term.evaluate()内部,而该问题被称为Selection.__init__()内部。原始术语分为条件ConditionBinOp和过滤条件FilterBinOp。在我的示例中,拆分分别为[Condition : [(x % 5)]]0。如果情况为10 > 0,则将其分为[Condition : [(x > 10)]]None

0 个答案:

没有答案
相关问题