Сложный запрос в PyTables с использованием table.where
Как я могу сделать так: (если возможно)
options = {'topLimit': 22.3, 'downLimit': 9}
for row in tab.where('value < options['topLimit']'):
#whatever
...
...
Можем ли мы поставить что-то вроде options['topLimit']
или что-то подобное внутри where
состояние??
Если нет, как это можно сделать?
PD: Обратите внимание, что это очень простой пример.... Я знаю, что решение для этого случая:
for row in tab.where('value < 22.3'):
Я думаю о гораздо более сложных ситуациях.
1 ответ
Решение
Передайте параметры в качестве аргумента condvars куда:
options = {'topLimit': 22.3, 'downLimit': 9}
for row in tab.where('value < topLimit', options):
#whatever
Смотрите документацию для более подробной информации [1].